diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /net-analyzer | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'net-analyzer')
1384 files changed, 55465 insertions, 0 deletions
diff --git a/net-analyzer/2ping/2ping-4.5.1-r1.ebuild b/net-analyzer/2ping/2ping-4.5.1-r1.ebuild new file mode 100644 index 000000000000..3dd3f42cc528 --- /dev/null +++ b/net-analyzer/2ping/2ping-4.5.1-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="A bi-directional ping utility" +HOMEPAGE="https://www.finnie.org/software/2ping/" +SRC_URI="https://www.finnie.org/software/2ping/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~riscv ~x86" +IUSE="server" + +distutils_enable_tests pytest + +src_install() { + distutils-r1_src_install + + doman doc/2ping.1 + dodoc doc/{2ping-protocol-examples.py,2ping-protocol.md} + + newbashcomp 2ping.bash_completion 2ping + dosym 2ping $(get_bashcompdir)/2ping6 + + use server && { + doinitd "${FILESDIR}"/2pingd + newconfd "${FILESDIR}"/2pingd.conf 2pingd + } +} diff --git a/net-analyzer/2ping/Manifest b/net-analyzer/2ping/Manifest new file mode 100644 index 000000000000..8bb597955867 --- /dev/null +++ b/net-analyzer/2ping/Manifest @@ -0,0 +1 @@ +DIST 2ping-4.5.1.tar.gz 77053 BLAKE2B e1255264dde4e0deb2d064e0acbaf96270e64a057334a0c0eea4e413e472cd52ffdf2181718dca4309eb8843791ef2bef866b7cf5642f9ff41e9916c3d7180e0 SHA512 13ab8c34d6b4e8d53bc0f1c33afa1c71bf61313d29350d2211a44557b244062cb090cf5d66cc6eed58f9f4c41a667bb24a8c1155243864e8343c741770b60cd6 diff --git a/net-analyzer/2ping/files/2pingd b/net-analyzer/2ping/files/2pingd new file mode 100644 index 000000000000..b558de2d18f6 --- /dev/null +++ b/net-analyzer/2ping/files/2pingd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DAEMON="/usr/bin/2ping" +PIDFILE="/run/2ping.pid" + +depend() { + need net +} + +start() { + ebegin "Starting 2ping server" + start-stop-daemon --start \ + --background --make-pidfile \ + --pidfile "${PIDFILE}" \ + --exec "${DAEMON}" -- \ + --listen -q ${OPTS} \ + >/dev/null + eend $? +} + +stop() { + ebegin "Stopping 2ping server" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} + +restart() { + ebegin "Restarting 2ping server" + start-stop-daemon --stop --pidfile "${PIDFILE}" + sleep 1 + start-stop-daemon --start --exec "${DAEMON}" --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-analyzer/2ping/files/2pingd.conf b/net-analyzer/2ping/files/2pingd.conf new file mode 100644 index 000000000000..12c263d3d054 --- /dev/null +++ b/net-analyzer/2ping/files/2pingd.conf @@ -0,0 +1,2 @@ +#Pass any extra 2ping server options here +#OPTS="--ipv6" diff --git a/net-analyzer/2ping/metadata.xml b/net-analyzer/2ping/metadata.xml new file mode 100644 index 000000000000..328a0a33132f --- /dev/null +++ b/net-analyzer/2ping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="server">Install the server init scripts.</flag> + </use> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/alive/Manifest b/net-analyzer/alive/Manifest new file mode 100644 index 000000000000..bb460f83ecf4 --- /dev/null +++ b/net-analyzer/alive/Manifest @@ -0,0 +1 @@ +DIST alive-2.0.5.tar.lz 186304 BLAKE2B 8528d7b86030ff0b54cd391a7cd7b42be974d5f605c66c6340468855959d2adf31940312d6693580839e9180813a3e96c2fe86a3842f3abd00af0e08b7f301ee SHA512 f760f9386019ddeac8690eec9119d557d4e288cc8698ce69adc8d9915eb0bc27fcf4015e9c4710411321d21c11731e61be754e9b827dceceab6463e531ed4240 diff --git a/net-analyzer/alive/alive-2.0.5-r100.ebuild b/net-analyzer/alive/alive-2.0.5-r100.ebuild new file mode 100644 index 000000000000..277a47bb198a --- /dev/null +++ b/net-analyzer/alive/alive-2.0.5-r100.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GUILE_COMPAT=( 2-2 3-0 ) +inherit autotools guile-single unpacker + +DESCRIPTION="Periodic ping program" +HOMEPAGE="https://www.gnu.org/software/alive/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" + +REQUIRED_USE="${GUILE_REQUIRED_USE}" + +DEPEND="${GUILE_DEPS}" +RDEPEND="${DEPEND} + dev-scheme/xdgdirs + net-misc/iputils" +BDEPEND="$(unpacker_src_uri_depends)" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.2-ping-test.patch +) + +src_prepare() { + guile-single_src_prepare + + eautoreconf +} diff --git a/net-analyzer/alive/files/alive-2.0.2-ping-test.patch b/net-analyzer/alive/files/alive-2.0.2-ping-test.patch new file mode 100644 index 000000000000..3b1b1257c9b3 --- /dev/null +++ b/net-analyzer/alive/files/alive-2.0.2-ping-test.patch @@ -0,0 +1,14 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -35,11 +35,6 @@ + [alive_cv_nice_ping=yes], + [alive_cv_nice_ping=no])]) + +-dnl Luckily both inetutils-ping and iputils-ping are nice. +-AS_IF([test xno = x$alive_cv_nice_ping], +-[AC_MSG_ERROR([$PING does not support ‘-n -c 1’. +-Please install a ping program that does, and retry.])]) +- + AC_CONFIG_FILES([ + Makefile + src/Makefile diff --git a/net-analyzer/alive/metadata.xml b/net-analyzer/alive/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/alive/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/apinger/Manifest b/net-analyzer/apinger/Manifest new file mode 100644 index 000000000000..650ea64a3ae2 --- /dev/null +++ b/net-analyzer/apinger/Manifest @@ -0,0 +1 @@ +DIST apinger-0.6.1.tar.gz 134127 BLAKE2B 8f54d5514a5410973b5f44166741582fc16a2b0b1398eab001943e2924704ae5400e2c0ce4ca1694cadfc6fa3e47d395aa3d6affd7e4873fb172bf027c26c251 SHA512 eca6cee186d538200619188d9481154114ef9d7eae4f11f389eb61382f507d108bc64622fe99b1bae17ecc3ca7b2bc4ff4d0a3156ebf2913803e7be24b0d3f94 diff --git a/net-analyzer/apinger/apinger-0.6.1.ebuild b/net-analyzer/apinger/apinger-0.6.1.ebuild new file mode 100644 index 000000000000..98e7484f48b9 --- /dev/null +++ b/net-analyzer/apinger/apinger-0.6.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="Alarm Pinger" +HOMEPAGE="https://github.com/Jajcus/apinger/" +SRC_URI=" + https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + app-alternatives/lex + app-alternatives/yacc +" +DOCS=( AUTHORS ChangeLog NEWS README TODO ) +PATCHES=( + "${FILESDIR}"/${PN}-0.4.1-fno-common.patch + "${FILESDIR}"/${PN}-0.4.1-stray-backslash.patch +) + +src_prepare() { + default + eautoreconf +} + +src_compile() { + emake -C src/ cfgparser1.h + default +} + +src_install() { + default + insinto /etc + doins src/${PN}.conf +} diff --git a/net-analyzer/apinger/files/apinger-0.4.1-fno-common.patch b/net-analyzer/apinger/files/apinger-0.4.1-fno-common.patch new file mode 100644 index 000000000000..d74dc1c66f27 --- /dev/null +++ b/net-analyzer/apinger/files/apinger-0.4.1-fno-common.patch @@ -0,0 +1,11 @@ +--- a/src/apinger.h ++++ b/src/apinger.h +@@ -99,7 +99,7 @@ + void *target_id; + }; + +-struct target *targets; ++extern struct target *targets; + + extern int foreground; + extern char *config_file; diff --git a/net-analyzer/apinger/files/apinger-0.4.1-stray-backslash.patch b/net-analyzer/apinger/files/apinger-0.4.1-stray-backslash.patch new file mode 100644 index 000000000000..3c5d5158563a --- /dev/null +++ b/net-analyzer/apinger/files/apinger-0.4.1-stray-backslash.patch @@ -0,0 +1,13 @@ +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -39,8 +39,8 @@ + [$jk_inet_includes + $jk_icmp_includes]) + +-AC_CHECK_MEMBERS([struct icmp.icmp_type, struct icmp.icmp_code,\ +-struct icmp.icmp_cksum, struct icmp.icmp_seq,\ ++AC_CHECK_MEMBERS([struct icmp.icmp_type, struct icmp.icmp_code, ++struct icmp.icmp_cksum, struct icmp.icmp_seq, + struct icmp.icmp_id],[], + AC_MSG_ERROR(struct icmp not defined or not compatible), + [$jk_inet_includes diff --git a/net-analyzer/apinger/metadata.xml b/net-analyzer/apinger/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/apinger/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/argus-clients/Manifest b/net-analyzer/argus-clients/Manifest new file mode 100644 index 000000000000..e8b59fc9f84c --- /dev/null +++ b/net-analyzer/argus-clients/Manifest @@ -0,0 +1 @@ +DIST argus-clients-3.0.8.4.tar.gz 2773840 BLAKE2B 0b5a24bc6a5c3163a0ac19a3a354e6573491e130c4b854bc4c9b19e6dfa1d27acea8338a88e589043b839994182756b04e205d9ef6815b2f7dc347fb51405c88 SHA512 5b6a03528c31b534d56370b4b8189d223691bb0d8f465349e7850bf54b4663e9851bddb54060a8bc263be3b80f4eab829413a7ff4da312e6640e2f7191d65473 diff --git a/net-analyzer/argus-clients/argus-clients-3.0.8.4.ebuild b/net-analyzer/argus-clients/argus-clients-3.0.8.4.ebuild new file mode 100644 index 000000000000..4410c5ca3d0f --- /dev/null +++ b/net-analyzer/argus-clients/argus-clients-3.0.8.4.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Clients for net-analyzer/argus" +HOMEPAGE="https://openargus.org/" +SRC_URI="https://github.com/openargus/clients/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/clients-${PV} + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="debug ft geoip mysql sasl tcpd" + +RDEPEND=" + net-analyzer/rrdtool[perl] + net-libs/libpcap + net-libs/libtirpc:= + sys-libs/ncurses:= + sys-libs/readline:= + virtual/zlib:= + ft? ( net-analyzer/flow-tools ) + geoip? ( dev-libs/geoip ) + mysql? ( dev-db/mysql-connector-c:0= ) + sasl? ( dev-libs/cyrus-sasl ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.4.1-disable-tcp-wrappers-automagic.patch + "${FILESDIR}"/${PN}-3.0.7.21-curses-readline.patch + "${FILESDIR}"/${PN}-3.0.8.2-ar.patch + "${FILESDIR}"/${PN}-3.0.8.2-curses-readline.patch + "${FILESDIR}"/${PN}-3.0.8.2-my_bool.patch + "${FILESDIR}"/${PN}-3.0.8.3-configure-clang16.patch + "${FILESDIR}"/${PN}-3.0.8.4-autoconf-2.70.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + tc-export AR RANLIB + + use debug && touch .debug + econf \ + $(use_with ft libft) \ + $(use_with geoip GeoIP /usr/) \ + $(use_with sasl) \ + $(use_with tcpd wrappers) \ + $(use_with mysql mysql /usr) +} + +src_compile() { + emake \ + CCOPT="${CFLAGS} ${LDFLAGS}" \ + RANLIB="$(tc-getRANLIB)" \ + CURSESLIB="$( $(tc-getPKG_CONFIG) --libs ncurses)" +} + +src_install() { + dobin bin/ra* + dodoc ChangeLog CREDITS README CHANGES + doman man/man{1,5}/* +} diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.4.1-disable-tcp-wrappers-automagic.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.4.1-disable-tcp-wrappers-automagic.patch new file mode 100644 index 000000000000..8e240043625d --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.4.1-disable-tcp-wrappers-automagic.patch @@ -0,0 +1,23 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -121,6 +121,12 @@ + esac + + AC_QOSIENT_THREADS(V_THREADS) ++ ++AC_ARG_WITH(wrappers, ++ [ --with-wrappers build with libwrappers suuport], ++ with_wrappers="$withval", ++ with_wrappers="yes") ++if test "x$with_wrappers" != "xno"; then + AC_QOSIENT_TCPWRAP(V_WRAPDEP, V_INCLS) + if test ! -z "$V_WRAPDEP"; then + if test -f $V_WRAPDEP; then +@@ -144,6 +150,7 @@ + AC_DEFINE([HAVE_TCP_WRAPPER], [], [Using Tcp wrappers]) + WRAPLIBS="$V_WRAPDEP" + fi ++fi + + CURSESLIB="" + diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.7.21-curses-readline.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.7.21-curses-readline.patch new file mode 100644 index 000000000000..787ff5ac9118 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.7.21-curses-readline.patch @@ -0,0 +1,21 @@ +--- a/examples/ratop/Makefile.in ++++ b/examples/ratop/Makefile.in +@@ -54,7 +54,8 @@ + DEFS = @DEFS@ + COMPATLIB = @COMPATLIB@ @LIB_SASL@ @LIBS@ @V_THREADS@ @V_GEOIPDEP@ @V_PCRE@ @V_FTDEP@ @ZLIB@ + +-CURSESLIB = @CURSESLIB@ @V_READLINE@ ++CURSESLIB = @CURSESLIB@ ++V_READLINE = @V_READLINE@ + + # Standard CFLAGS + CFLAGS = $(CCOPT) $(INCLS) $(DEFS) +@@ -93,7 +94,7 @@ + all: $(PROGS) + + $(INSTALLBIN)/ratop: $(OBJ) $(LIB) +- $(CC) $(CFLAGS) -o $@ $(OBJ) $(LDFLAGS) $(LIB) $(COMPATLIB) $(CURSESLIB) ++ $(CC) $(CFLAGS) -o $@ $(OBJ) $(LDFLAGS) $(LIB) $(COMPATLIB) $(CURSESLIB) $(V_READLINE) + + CLEANFILES = $(OBJ) $(PROGS) + diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-ar.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-ar.patch new file mode 100644 index 000000000000..e5df5378ab17 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-ar.patch @@ -0,0 +1,31 @@ +--- a/common/Makefile.in ++++ b/common/Makefile.in +@@ -113,23 +113,23 @@ + all: $(LIBS) + + @INSTALL_LIB@/argus_common.a: $(COMMONOBJ) +- rm -f $@; ar qc $@ $(COMMONOBJ) ++ rm -f $@; $(AR) qc $@ $(COMMONOBJ) + -$(RANLIB) $@ + + @INSTALL_LIB@/argus_parse.a: $(PARSEOBJ) +- rm -f $@; ar qc $@ $(PARSEOBJ) ++ rm -f $@; $(AR) qc $@ $(PARSEOBJ) + -$(RANLIB) $@ + + @INSTALL_LIB@/argus_client.a: $(CLIENTOBJ) +- rm -f $@; ar qc $@ $(CLIENTOBJ) ++ rm -f $@; $(AR) qc $@ $(CLIENTOBJ) + -$(RANLIB) $@ + + @INSTALL_LIB@/argus_output.a: $(OUTPUTOBJ) +- rm -f $@; ar qc $@ $(OUTPUTOBJ) ++ rm -f $@; $(AR) qc $@ $(OUTPUTOBJ) + -$(RANLIB) $@ + + @INSTALL_LIB@/argus_event.a: $(EVENTOBJ) +- rm -f $@; ar qc $@ $(EVENTOBJ) ++ rm -f $@; $(AR) qc $@ $(EVENTOBJ) + -$(RANLIB) $@ + + scanner.c: scanner.l diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-curses-readline.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-curses-readline.patch new file mode 100644 index 000000000000..fc8d3d0ed6e2 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-curses-readline.patch @@ -0,0 +1,21 @@ +--- a/examples/ramysql/Makefile.in ++++ b/examples/ramysql/Makefile.in +@@ -56,7 +56,8 @@ + + + MYSQLLIB = @MYSQL_LDFLAGS@ +-CURSESLIB = @CURSESLIB@ @V_READLINE@ ++CURSESLIB = @CURSESLIB@ ++V_READLINE = @V_READLINE@ + + + # Standard CFLAGS +@@ -94,7 +95,7 @@ + $(CC) $(CCOPT) -o $@ rasql.o $(LDFLAGS) $(MYSQLLIB) $(LIB) $(COMPATLIB) + + $(INSTALLBIN)/rasqlinsert: rasqlinsert.o raclient.o $(LIB) +- $(CC) $(CCOPT) -o $@ raclient.o rasqlinsert.o @V_PCRE@ $(LDFLAGS) $(MYSQLLIB) $(LIB) $(COMPATLIB) $(CURSESLIB) ++ $(CC) $(CCOPT) -o $@ raclient.o rasqlinsert.o @V_PCRE@ $(LDFLAGS) $(MYSQLLIB) $(LIB) $(COMPATLIB) $(CURSESLIB) $(V_READLINE) + + $(INSTALLBIN)/rasqltimeindex: rasqltimeindex.o $(LIB) + $(CC) $(CCOPT) -o $@ rasqltimeindex.o @V_PCRE@ $(LDFLAGS) $(MYSQLLIB) $(LIB) $(COMPATLIB) diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-my_bool.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-my_bool.patch new file mode 100644 index 000000000000..99cd6b255ae7 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.8.2-my_bool.patch @@ -0,0 +1,42 @@ +--- a/examples/ramysql/rasql.c ++++ b/examples/ramysql/rasql.c +@@ -414,7 +414,7 @@ + void + RaMySQLInit () + { +- my_bool reconnectbuf = 1, *reconnect = &reconnectbuf; ++ int reconnectbuf = 1, *reconnect = &reconnectbuf; + char userbuf[1024], sbuf[1024], db[1024], *dbptr = NULL; + char *sptr = NULL, *ptr; + MYSQL_RES *mysqlRes; +--- a/examples/ramysql/rasqlinsert.c ++++ b/examples/ramysql/rasqlinsert.c +@@ -7026,7 +7026,7 @@ + void + RaMySQLInit () + { +- my_bool reconnectbuf = 1, *reconnect = &reconnectbuf; ++ int reconnectbuf = 1, *reconnect = &reconnectbuf; + char *sptr = NULL, *ptr; + char userbuf[1024], sbuf[1024], db[1024], *dbptr = NULL; + MYSQL_RES *mysqlRes; +--- a/examples/ramysql/rasqltimeindex.c ++++ b/examples/ramysql/rasqltimeindex.c +@@ -539,7 +539,7 @@ + void + RaMySQLInit () + { +- my_bool reconnectbuf = 1, *reconnect = &reconnectbuf; ++ int reconnectbuf = 1, *reconnect = &reconnectbuf; + char *sptr = NULL, *ptr; + char userbuf[1024], sbuf[1024], db[1024], *dbptr = NULL; + MYSQL_RES *mysqlRes; +@@ -797,7 +797,7 @@ + void + RaMySQLInit () + { +- my_bool reconnectbuf = 1, *reconnect = &reconnectbuf; ++ int reconnectbuf = 1, *reconnect = &reconnectbuf; + unsigned int RaTableFlags = 0; + int retn = 0, x; + char *sptr = NULL, *ptr; diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.8.3-configure-clang16.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.8.3-configure-clang16.patch new file mode 100644 index 000000000000..ac974dbdf395 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.8.3-configure-clang16.patch @@ -0,0 +1,41 @@ +https://github.com/openargus/clients/pull/7 + +From 00264608bad9655d72927f31a2b2744b5e2e2e31 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Fri, 25 Nov 2022 19:03:24 +0100 +Subject: [PATCH] configure (AC_LBL_UNALIGNED_ACCESS): Avoid implicit function + decls + +Implicit function declarations were removed from the C language +in 1999. Include the relevant header files to ensure that the +check still works with future compilers. C99 also requires +to declare the return types of all functions. +--- a/acsite.m4 ++++ b/acsite.m4 +@@ -298,8 +298,10 @@ AC_DEFUN([AC_LBL_UNALIGNED_ACCESS], + # include <sys/types.h> + # include <sys/wait.h> + # include <stdio.h> ++# include <stdlib.h> ++# include <unistd.h> + unsigned char a[[5]] = { 1, 2, 3, 4, 5 }; +- main() { ++ int main() { + unsigned int i; + pid_t pid; + int status; +--- a/configure ++++ b/configure +@@ -6711,8 +6711,10 @@ else + # include <sys/types.h> + # include <sys/wait.h> + # include <stdio.h> ++# include <stdlib.h> ++# include <unistd.h> + unsigned char a[5] = { 1, 2, 3, 4, 5 }; +- main() { ++ int main() { + unsigned int i; + pid_t pid; + int status; + diff --git a/net-analyzer/argus-clients/files/argus-clients-3.0.8.4-autoconf-2.70.patch b/net-analyzer/argus-clients/files/argus-clients-3.0.8.4-autoconf-2.70.patch new file mode 100644 index 000000000000..b6a322fb6913 --- /dev/null +++ b/net-analyzer/argus-clients/files/argus-clients-3.0.8.4-autoconf-2.70.patch @@ -0,0 +1,55 @@ +https://sources.debian.org/patches/argus-clients/1:3.0.8.2-6.1/0007-Fix-autoconf-2.70-build.patch/ +https://bugs.gentoo.org/808861 + +From: Boyuan Yang <byang@debian.org> +Date: Fri, 1 Oct 2021 16:13:38 -0400 +Subject: Fix autoconf 2.70 build + +Bug-Debian: https://bugs.debian.org/978769 +--- a/acsite.m4 ++++ b/acsite.m4 +@@ -715,13 +715,13 @@ AC_DEFUN([AC_QOSIENT_READLINE], [ + esac + fi + +- AC_CHECK_HEADERS(readline/readline.h, +- AC_CHECK_DECLS([rl_event_hook, rl_catch_signals, rl_done, rl_set_keyboard_input_timeout, rl_replace_line, rl_delete_text, rl_resize_terminal, rl_save_prompt ], [] , [] , +- [ ++ AC_CHECK_HEADERS([readline/readline.h], ++ [AC_CHECK_DECLS([rl_event_hook, rl_catch_signals, rl_done, rl_set_keyboard_input_timeout, rl_replace_line, rl_delete_text, rl_resize_terminal, rl_save_prompt ], [] , [] , ++ [[ + #include <stdlib.h> + #include <stdio.h> + #include <readline/readline.h> +- ]), ac_cv_found_readline=no) ++ ]])], [ac_cv_found_readline=no]) + + if test "$ac_cv_found_readline" != no; then + $1="-lreadline" +--- a/configure.ac ++++ b/configure.ac +@@ -41,17 +41,17 @@ AC_PROG_INSTALL + AC_PROG_RANLIB + AC_PROG_YACC + +-AC_CHECK_PROGS(V_RANLIB, ranlib, @true) +-AC_QOSIENT_LEX_AND_YACC(V_LEX, V_YACC, argus_) ++AC_CHECK_PROGS([V_RANLIB], [ranlib], [@true]) ++AC_QOSIENT_LEX_AND_YACC([V_LEX], [V_YACC], [argus_]) + + # Checks for libraries. +-AC_QOSIENT_READLINE(V_READLINE, V_INCLS) ++AC_QOSIENT_READLINE([V_READLINE], [V_INCLS]) + +-CMU_SASL2(V_INCLS) ++CMU_SASL2([V_INCLS]) + AC_CMU_MYSQL + +-AC_CHECK_HEADERS(zlib.h, [AC_CHECK_LIB(z, uncompress, ZLIB="-lz")]) +-AC_QOSIENT_FLOWTOOLS(V_FLOWTOOLS, V_INCLS) ++AC_CHECK_HEADERS([zlib.h], [AC_CHECK_LIB([z], [uncompress], [ZLIB="-lz"])]) ++AC_QOSIENT_FLOWTOOLS([V_FLOWTOOLS], [V_INCLS]) + + if test ! -z "$V_FLOWTOOLS"; then + AC_DEFINE([ARGUS_FLOWTOOLS], [], [Using Flow Tools library]) + diff --git a/net-analyzer/argus-clients/metadata.xml b/net-analyzer/argus-clients/metadata.xml new file mode 100644 index 000000000000..a3e74286bbcc --- /dev/null +++ b/net-analyzer/argus-clients/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="ft">Enable support for flow packets through <pkg>net-analyzer/flow-tools</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/argus/Manifest b/net-analyzer/argus/Manifest new file mode 100644 index 000000000000..196e3c621939 --- /dev/null +++ b/net-analyzer/argus/Manifest @@ -0,0 +1 @@ +DIST argus-3.0.8.3.tar.gz 524549 BLAKE2B f905784c12d28d4440a7a6954441ce4f0865125a87e3d740edd5785e729f8b5b45967d97aef4f72802d2166b76176e15c6f15ec99b87ae1d14849ae92c65ad76 SHA512 f66db5b3bb1305825b76a7eda413d5805d65182aabef647e27716cfd629327b3aab8c299bc8af419199ac655cef4ac3bfcb83c059080e98b042e09f79f01d82a diff --git a/net-analyzer/argus/argus-3.0.8.3-r2.ebuild b/net-analyzer/argus/argus-3.0.8.3-r2.ebuild new file mode 100644 index 000000000000..aed7e841ff06 --- /dev/null +++ b/net-analyzer/argus/argus-3.0.8.3-r2.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="network Audit Record Generation and Utilization System" +HOMEPAGE="https://openargus.org/" +SRC_URI="https://www.qosient.com/argus/dev/${P/_rc/.rc.}.tar.gz" +S="${WORKDIR}"/${P/_rc/.rc.} + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="debug sasl tcpd" + +DEPEND=" + net-libs/libnsl:= + net-libs/libpcap + net-libs/libtirpc + virtual/zlib:= + sasl? ( dev-libs/cyrus-sasl ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND=" + acct-group/argus + acct-user/argus + ${DEPEND} +" +BDEPEND=" + >=sys-devel/bison-1.28 + app-alternatives/lex +" +PATCHES=( + "${FILESDIR}"/${PN}-3.0.8.1-disable-tcp-wrappers-automagic.patch + "${FILESDIR}"/${PN}-3.0.5-Makefile.patch + "${FILESDIR}"/${PN}-3.0.7.3-DLT_IPNET.patch + "${FILESDIR}"/${PN}-3.0.8.3-ar.patch + "${FILESDIR}"/${PN}-3.0.8.3-as-needed.patch + "${FILESDIR}"/${PN}-3.0.8.3-configure-clang16.patch +) + +src_prepare() { + find . -type f -execdir chmod +w {} \; #561360 + sed -e 's:/etc/argus.conf:/etc/argus/argus.conf:' \ + -i argus/argus.c \ + -i support/Config/argus.conf \ + -i man/man8/argus.8 \ + -i man/man5/argus.conf.5 || die + + sed -e 's:#\(ARGUS_SETUSER_ID=\).*:\1argus:' \ + -e 's:#\(ARGUS_SETGROUP_ID=\).*:\1argus:' \ + -e 's:\(#ARGUS_CHROOT_DIR=\).*:\1/var/lib/argus:' \ + -i support/Config/argus.conf || die + + default + eautoreconf +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/861146 + # https://github.com/openargus/argus/issues/8 + append-flags -fno-strict-aliasing + filter-lto + + use debug && touch .debug # enable debugging + + econf \ + $(use_with sasl) \ + $(use_with tcpd wrappers) +} + +src_compile() { + emake \ + CCOPT="${CFLAGS} ${LDFLAGS}" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" +} + +src_install() { + doman man/man5/*.5 man/man8/*.8 + + dosbin bin/argus{,bug} + + dodoc ChangeLog CREDITS README + + insinto /etc/argus + doins support/Config/argus.conf + + newinitd "${FILESDIR}/argus.initd" argus + keepdir /var/lib/argus +} + +pkg_postinst() { + elog "Note, if you modify ARGUS_DAEMON value in argus.conf it's quite" + elog "possible that the init script will fail to work." +} diff --git a/net-analyzer/argus/files/argus-3.0.5-Makefile.patch b/net-analyzer/argus/files/argus-3.0.5-Makefile.patch new file mode 100644 index 000000000000..87b1c155caf8 --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.5-Makefile.patch @@ -0,0 +1,20 @@ +Do not continue when a sub-make errors (bug #380953). + +--- a/Makefile.in ++++ b/Makefile.in +@@ -55,11 +55,11 @@ + .PHONY: install installdirs all + + all: force +- @-for d in $(DIRS);\ ++ @for d in $(DIRS);\ + do \ +- (cd $$d; echo "### Making in" `pwd`;\ +- $(MAKE) $(MFLAGS) ;\ +- echo "### Done with" `pwd`);\ ++ echo "### Making in" $$d;\ ++ $(MAKE) -C $$d $(MFLAGS) || exit 1;\ ++ echo "### Done with" $$d;\ + done + + install: force diff --git a/net-analyzer/argus/files/argus-3.0.7.3-DLT_IPNET.patch b/net-analyzer/argus/files/argus-3.0.7.3-DLT_IPNET.patch new file mode 100644 index 000000000000..f7b4bfa4cc6c --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.7.3-DLT_IPNET.patch @@ -0,0 +1,17 @@ +In file included from ./ArgusModeler.h:330:0, + from ./argus.h:40, + from ArgusSource.c:67: +./ArgusSource.h:893:6: error: ‘ArgusIpNetPacket’ undeclared here (not in a function) + +--- a/argus/ArgusSource.h ++++ b/argus/ArgusSource.h +@@ -889,9 +889,6 @@ + #ifdef DLT_JUNIPER_ETHER + { ArgusJuniperPacket, DLT_JUNIPER_ETHER, "ArgusJuniperPacket()" }, + #endif +-#ifdef DLT_IPNET +- { ArgusIpNetPacket, DLT_IPNET, "ArgusIpNetPacket()" }, +-#endif + { NULL, DLT_NULL, "" }, + #endif + { NULL, 0, NULL}, diff --git a/net-analyzer/argus/files/argus-3.0.8.1-disable-tcp-wrappers-automagic.patch b/net-analyzer/argus/files/argus-3.0.8.1-disable-tcp-wrappers-automagic.patch new file mode 100644 index 000000000000..917f864cf065 --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.8.1-disable-tcp-wrappers-automagic.patch @@ -0,0 +1,22 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -251,6 +251,11 @@ + AC_QOSIENT_MEMORY + + AC_QOSIENT_THREADS(V_THREADS) ++AC_ARG_WITH(wrappers, ++ [ --with-wrappers build with libwrappers support], ++ with_wrappers="$withval", ++ with_wrappers="yes") ++if test "x$with_wrappers" != "xno"; then + AC_QOSIENT_TCPWRAP(V_WRAPDEP, V_INCLS) + if test ! -z "$V_WRAPDEP"; then + if test -f "$V_WRAPDEP"; then +@@ -274,6 +279,7 @@ + AC_DEFINE([HAVE_TCP_WRAPPER], [], [Using Tcp wrappers]) + WRAPLIBS="$V_WRAPDEP" + fi ++fi + + AC_QOSIENT_LIBPCAP(V_PCAPDEP, V_INCLS) + if test ! -z "$V_PCAPDEP"; then diff --git a/net-analyzer/argus/files/argus-3.0.8.3-ar.patch b/net-analyzer/argus/files/argus-3.0.8.3-ar.patch new file mode 100644 index 000000000000..d17a1d3ff06f --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.8.3-ar.patch @@ -0,0 +1,11 @@ +--- a/common/Makefile.in ++++ b/common/Makefile.in +@@ -87,7 +87,7 @@ + all: $(LIBS) + + @INSTALL_LIB@/argus_common.a: $(COMMONOBJ) +- rm -f $@; ar qc $@ $(COMMONOBJ) ++ rm -f $@; $(AR) qc $@ $(COMMONOBJ) + -$(RANLIB) $@ + + scanner.c: scanner.l diff --git a/net-analyzer/argus/files/argus-3.0.8.3-as-needed.patch b/net-analyzer/argus/files/argus-3.0.8.3-as-needed.patch new file mode 100644 index 000000000000..b9616d305e01 --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.8.3-as-needed.patch @@ -0,0 +1,11 @@ +--- a/argus/Makefile.in ++++ b/argus/Makefile.in +@@ -85,7 +85,7 @@ + + OBJ = $(SRC:.c=.o) + +-LIB = @LIBS@ @V_THREADS@ $(WRAPLIBS) $(SASLLIBS) $(XDRLIBS) $(COMPATLIB) ../lib/argus_common.a -lm ++LIB = ../lib/argus_common.a @LIBS@ @V_THREADS@ $(WRAPLIBS) $(SASLLIBS) $(XDRLIBS) $(COMPATLIB) -lm + + HDR = pcap.h pcap-int.h pcap-namedb.h pcap-nit.h pcap-pf.h \ + ethertype.h gencode.h gnuc.h diff --git a/net-analyzer/argus/files/argus-3.0.8.3-configure-clang16.patch b/net-analyzer/argus/files/argus-3.0.8.3-configure-clang16.patch new file mode 100644 index 000000000000..2e9720c04326 --- /dev/null +++ b/net-analyzer/argus/files/argus-3.0.8.3-configure-clang16.patch @@ -0,0 +1,41 @@ +https://github.com/openargus/argus/pull/5 + +From dd987328bd2b99977a1a686a1a6b36d1a3155ff7 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Fri, 25 Nov 2022 19:03:24 +0100 +Subject: [PATCH] configure (AC_LBL_UNALIGNED_ACCESS): Avoid implicit function + decls + +Implicit function declarations were removed from the C language +in 1999. Include the relevant header files to ensure that the +check still works with future compilers. C99 also requires +to declare the return types of all functions. +--- a/acsite.m4 ++++ b/acsite.m4 +@@ -298,8 +298,10 @@ AC_DEFUN([AC_LBL_UNALIGNED_ACCESS], + # include <sys/types.h> + # include <sys/wait.h> + # include <stdio.h> ++# include <stdlib.h> ++# include <unistd.h> + unsigned char a[[5]] = { 1, 2, 3, 4, 5 }; +- main() { ++ int main() { + unsigned int i; + pid_t pid; + int status; +--- a/configure ++++ b/configure +@@ -5791,8 +5791,10 @@ else + # include <sys/types.h> + # include <sys/wait.h> + # include <stdio.h> ++# include <stdlib.h> ++# include <unistd.h> + unsigned char a[5] = { 1, 2, 3, 4, 5 }; +- main() { ++ int main() { + unsigned int i; + pid_t pid; + int status; + diff --git a/net-analyzer/argus/files/argus.initd b/net-analyzer/argus/files/argus.initd new file mode 100644 index 000000000000..2b02852fdf5c --- /dev/null +++ b/net-analyzer/argus/files/argus.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + ebegin "Starting argus" + start-stop-daemon --start --quiet --exec /usr/sbin/argus -- -d + eend $? +} + +stop() { + ebegin "Stopping argus" + start-stop-daemon --stop --quiet --exec /usr/sbin/argus + eend $? +} diff --git a/net-analyzer/argus/metadata.xml b/net-analyzer/argus/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/argus/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arp-scan/Manifest b/net-analyzer/arp-scan/Manifest new file mode 100644 index 000000000000..c8b282d0ff65 --- /dev/null +++ b/net-analyzer/arp-scan/Manifest @@ -0,0 +1,2 @@ +DIST arp-scan-1.10.0.tar.gz 653900 BLAKE2B 618a8201a2c7f425dce5b4260857542956caa4beed61fde9d85cf763076c12ef24eb5a059a5d332b739f1e5b2b3d18db922e6299ff46f7e02ddfb54562b3fc3e SHA512 716c7727597bdecf9fd3f064fe1715148c246c223c2adeb01a26417865e4d82b9ca47e7fe4a555e510e0ae65f23f8310f0dbdffdb7c3fd969e3b81d0c6e4ae2a +DIST arp-scan-1.9.7.tar.gz 459544 BLAKE2B bd70b2dd9e005096ce80fca07b8f2d8482b1073d25a2a9f82e8f5c1206148dbeab095046292cb46b5823aa18b56c208a5e86d0b7252d8566ddee5cd714b78cc6 SHA512 2aa808521a64cd3e2a6a270c6725f2cffa4cfce5c251e5483053c8ea9f56fb1368dd9aae2afcf8fffe1030fe2fc37723f0701c9eafa7cd1d52df459c07a80870 diff --git a/net-analyzer/arp-scan/arp-scan-1.10.0.ebuild b/net-analyzer/arp-scan/arp-scan-1.10.0.ebuild new file mode 100644 index 000000000000..5d4ae629eb22 --- /dev/null +++ b/net-analyzer/arp-scan/arp-scan-1.10.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="ARP scanning and fingerprinting tool" +HOMEPAGE="https://github.com/royhills/arp-scan" +SRC_URI="https://github.com/royhills/arp-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +DEPEND=" + net-libs/libpcap + sys-libs/libcap +" +RDEPEND=" + ${DEPEND} + dev-lang/perl +" +# Needed for _F_S patch +BDEPEND="dev-build/autoconf-archive" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.0-dont-clobber-fortify-source.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/arp-scan/arp-scan-1.9.7.ebuild b/net-analyzer/arp-scan/arp-scan-1.9.7.ebuild new file mode 100644 index 000000000000..477073db97b9 --- /dev/null +++ b/net-analyzer/arp-scan/arp-scan-1.9.7.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="ARP scanning and fingerprinting tool" +HOMEPAGE="https://github.com/royhills/arp-scan" +SRC_URI="https://github.com/royhills/arp-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +DEPEND=" + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} + dev-lang/perl +" + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/arp-scan/files/arp-scan-1.10.0-dont-clobber-fortify-source.patch b/net-analyzer/arp-scan/files/arp-scan-1.10.0-dont-clobber-fortify-source.patch new file mode 100644 index 000000000000..f933e965893b --- /dev/null +++ b/net-analyzer/arp-scan/files/arp-scan-1.10.0-dont-clobber-fortify-source.patch @@ -0,0 +1,25 @@ +Don't clobber toolchain defaults. + +(TODO: Fix upstream's GCC_FORTIFY_SOURCE macro or just replace it with the +autoconf-archive one (AX_ADD_FORTIFY_SOURCE)). + +https://bugs.gentoo.org/895522 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,6 @@ if test -n "$GCC"; then + CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings" + GCC_WEXTRA + GCC_STACK_PROTECT_CC +- GCC_FORTIFY_SOURCE + GCC_FORMAT_SECURITY + dnl Uncomment the line below to compile with additional warnings enabled. + dnl CFLAGS="$CFLAGS -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs" +@@ -49,6 +48,8 @@ else + fi + AC_PROG_INSTALL + ++AX_ADD_FORTIFY_SOURCE ++ + dnl Checks for libraries. + dnl Solaris 10 needs -lnsl for gethostbyname() and -lsocket for socket(). + dnl Linux, {Free,Open,Net,Dragonfly}BSD and MacOS X do not. diff --git a/net-analyzer/arp-scan/metadata.xml b/net-analyzer/arp-scan/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/arp-scan/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arping/Manifest b/net-analyzer/arping/Manifest new file mode 100644 index 000000000000..0cafeef11967 --- /dev/null +++ b/net-analyzer/arping/Manifest @@ -0,0 +1,2 @@ +DIST arping-2.25.tar.gz 62032 BLAKE2B a7b5bdfb693ee31781509584b4a0363e856d8134cebe1119fee974a57c399f1128a306b85e3f3669d4fe8f7031dfb87b9cfcc2f8df76b6f969310a12460363ad SHA512 7cfc1ed73bd7621911f9b1b0ad23680c7dde6f8674a0223e6341dc6e40c7d49bb293bc519e9e9de8abaa9209ad7fedad902901235f87b8d21395f3396739b922 +DIST arping-2.26.tar.gz 62357 BLAKE2B 7714c5d298125311618fe44097f95431741aab2d7d486e4ea5358c1ce5992f6292841e7b9f00b773aafdc93fc1425dc604845307b29d986ab08cf59ecbe573aa SHA512 0a013c697595df9be966ee63948c26a61ae55cd133706a490810d2d56cd9800bd613a4e92bdaddca7571096987bba282331222b5d54e9737fc4a14471e9cf879 diff --git a/net-analyzer/arping/arping-2.25.ebuild b/net-analyzer/arping/arping-2.25.ebuild new file mode 100644 index 000000000000..2498e16afa80 --- /dev/null +++ b/net-analyzer/arping/arping-2.25.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fcaps + +DESCRIPTION="Utility to see if a specific IP is taken and what MAC owns it" +HOMEPAGE="https://www.habets.pp.se/synscan/programs.php?prog=arping" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/ThomasHabets/arping" + inherit git-r3 +else + SRC_URI="https://github.com/ThomasHabets/${PN}/archive/${P}.tar.gz" + KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 ~s390 ~sparc x86" + + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="GPL-2+" +SLOT="2" +IUSE="+seccomp test" +RESTRICT="!test? ( test )" + +RDEPEND="net-libs/libpcap + net-libs/libnet:1.1 + sys-libs/libcap + seccomp? ( sys-libs/libseccomp ) + !net-misc/iputils[arping(+)]" +DEPEND="${RDEPEND} + test? ( + dev-libs/check + dev-python/python-subunit + )" + +FILECAPS=( cap_net_raw usr/sbin/arping ) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + # Controls whether seccomp is used by default + $(use_enable seccomp) + ) + + # Needed to actually make it optional and not automagic + # (and we want it optional for the non-seccomp arches, like sparc) + export ac_cv_lib_seccomp_seccomp_init=$(usex seccomp) + export ac_cv_header_seccomp_h=$(usex seccomp) + + econf "${myeconfargs[@]}" +} diff --git a/net-analyzer/arping/arping-2.26.ebuild b/net-analyzer/arping/arping-2.26.ebuild new file mode 100644 index 000000000000..762032cde153 --- /dev/null +++ b/net-analyzer/arping/arping-2.26.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fcaps + +DESCRIPTION="Utility to see if a specific IP is taken and what MAC owns it" +HOMEPAGE="https://www.habets.pp.se/synscan/programs.php?prog=arping" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/ThomasHabets/arping" + inherit git-r3 +else + SRC_URI="https://github.com/ThomasHabets/${PN}/archive/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="GPL-2+" +SLOT="2" +IUSE="+seccomp test" +RESTRICT="!test? ( test )" + +RDEPEND="net-libs/libpcap + net-libs/libnet:1.1 + sys-libs/libcap + seccomp? ( sys-libs/libseccomp ) + !net-misc/iputils[arping(+)]" +DEPEND="${RDEPEND} + test? ( + dev-libs/check + dev-python/python-subunit + )" + +FILECAPS=( cap_net_raw usr/sbin/arping ) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + # Controls whether seccomp is used by default + $(use_enable seccomp) + ) + + # Needed to actually make it optional and not automagic + # (and we want it optional for the non-seccomp arches, like sparc) + export ac_cv_lib_seccomp_seccomp_init=$(usex seccomp) + export ac_cv_header_seccomp_h=$(usex seccomp) + + econf "${myeconfargs[@]}" +} diff --git a/net-analyzer/arping/arping-9999.ebuild b/net-analyzer/arping/arping-9999.ebuild new file mode 100644 index 000000000000..762032cde153 --- /dev/null +++ b/net-analyzer/arping/arping-9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fcaps + +DESCRIPTION="Utility to see if a specific IP is taken and what MAC owns it" +HOMEPAGE="https://www.habets.pp.se/synscan/programs.php?prog=arping" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/ThomasHabets/arping" + inherit git-r3 +else + SRC_URI="https://github.com/ThomasHabets/${PN}/archive/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="GPL-2+" +SLOT="2" +IUSE="+seccomp test" +RESTRICT="!test? ( test )" + +RDEPEND="net-libs/libpcap + net-libs/libnet:1.1 + sys-libs/libcap + seccomp? ( sys-libs/libseccomp ) + !net-misc/iputils[arping(+)]" +DEPEND="${RDEPEND} + test? ( + dev-libs/check + dev-python/python-subunit + )" + +FILECAPS=( cap_net_raw usr/sbin/arping ) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + # Controls whether seccomp is used by default + $(use_enable seccomp) + ) + + # Needed to actually make it optional and not automagic + # (and we want it optional for the non-seccomp arches, like sparc) + export ac_cv_lib_seccomp_seccomp_init=$(usex seccomp) + export ac_cv_header_seccomp_h=$(usex seccomp) + + econf "${myeconfargs[@]}" +} diff --git a/net-analyzer/arping/metadata.xml b/net-analyzer/arping/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/arping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arpoison/Manifest b/net-analyzer/arpoison/Manifest new file mode 100644 index 000000000000..ca0599f89acc --- /dev/null +++ b/net-analyzer/arpoison/Manifest @@ -0,0 +1 @@ +DIST arpoison-0.7.tar.gz 8458 BLAKE2B b0050aa6f3246fec9fb4db8bbb3f9f5f1d52b5b6c37851f0c6bec8b6c89fabd7f1811ae40a4c81af6eae16761f38fb749d0f2a58311645ef360d798b6ccbbb50 SHA512 d5af078c8e2c64eb721da75b5d6659ca017267f146d0dca7e0f1ba77bfd93a0f56363428c198e9c46537768d3568d813c150bfbc091430fc355a269f9327108f diff --git a/net-analyzer/arpoison/arpoison-0.7-r1.ebuild b/net-analyzer/arpoison/arpoison-0.7-r1.ebuild new file mode 100644 index 000000000000..9cf32953387a --- /dev/null +++ b/net-analyzer/arpoison/arpoison-0.7-r1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs edo + +DESCRIPTION="Utility to poison ARP caches" +HOMEPAGE="https://arpoison.sourceforge.net/ http://www.arpoison.net/" +SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~riscv x86" + +RDEPEND="net-libs/libnet:1.1" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" + +src_compile() { + edo "$(tc-getCC)" "${PN}.c" -o "${PN}" ${CFLAGS} ${LDFLAGS} $("${BROOT}/usr/bin/libnet-config" --cflags --libs) +} + +src_install() { + dosbin arpoison + doman arpoison.8 + dodoc README +} diff --git a/net-analyzer/arpoison/arpoison-0.7.ebuild b/net-analyzer/arpoison/arpoison-0.7.ebuild new file mode 100644 index 000000000000..adb0567ef881 --- /dev/null +++ b/net-analyzer/arpoison/arpoison-0.7.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit toolchain-funcs + +DESCRIPTION="Utility to poison ARP caches" +HOMEPAGE="https://arpoison.sourceforge.net/ http://www.arpoison.net/" +SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~riscv x86" + +RDEPEND=" + net-libs/libnet:1.1 +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${RDEPEND} +" + +src_compile() { + local compile="$(tc-getCC) ${PN}.c -o ${PN} ${CFLAGS} ${LDFLAGS} $("${BROOT}/usr/bin/libnet-config" --cflags --libs)" + echo "${compile}" + ${compile} || die +} + +src_install() { + dosbin arpoison + doman arpoison.8 + dodoc README +} diff --git a/net-analyzer/arpoison/metadata.xml b/net-analyzer/arpoison/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/arpoison/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arpon/Manifest b/net-analyzer/arpon/Manifest new file mode 100644 index 000000000000..6b1fc7d0e9f1 --- /dev/null +++ b/net-analyzer/arpon/Manifest @@ -0,0 +1 @@ +DIST ArpON-3.0-ng.tar.gz 8795979 BLAKE2B 81b1fe9a426b5b0960911cbbac984482aeea15a957fac72a10e7dd9a45a609da90ca14163957cc008541be4cfaf426f07fa9c64ac4dff933f568b20284c5211d SHA512 e6338018d65f3f8300958e168a9eb6f6be85cba21ae0aee4b03e9838a29a06afbf2448c2f104367aa18389cc549e4489bcf8dad384ad46eadf2884a0908238af diff --git a/net-analyzer/arpon/arpon-3.0-r1.ebuild b/net-analyzer/arpon/arpon-3.0-r1.ebuild new file mode 100644 index 000000000000..0ff324edc9e0 --- /dev/null +++ b/net-analyzer/arpon/arpon-3.0-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="ArpON" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="ArpON (Arp handler inspectiON) is a portable Arp handler" +HOMEPAGE="https://arpon.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}-ng.tar.gz" +S="${WORKDIR}/${MY_P}-ng" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 x86" + +DEPEND=" + dev-libs/libdnet + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-3.0-CFLAGS.patch + "${FILESDIR}"/${PN}-3.0-gentoo.patch + "${FILESDIR}"/${PN}-3.0-cmake4.patch +) + +DOCS=( AUTHOR CHANGELOG README THANKS ) + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/${PN}.initd-3 ${PN} + newconfd "${FILESDIR}"/${PN}.confd-3 ${PN} + + rm -r "${ED}"/var/{log,run} || die + mv "${ED}"/usr/share/doc/{${PN},${PF}} || die +} diff --git a/net-analyzer/arpon/arpon-3.0.ebuild b/net-analyzer/arpon/arpon-3.0.ebuild new file mode 100644 index 000000000000..d564c5e19b27 --- /dev/null +++ b/net-analyzer/arpon/arpon-3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="ArpON" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="ArpON (Arp handler inspectiON) is a portable Arp handler" +HOMEPAGE="https://arpon.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}-ng.tar.gz" +S="${WORKDIR}/${MY_P}-ng" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 x86" + +DEPEND=" + dev-libs/libdnet + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-3.0-CFLAGS.patch + "${FILESDIR}"/${PN}-3.0-gentoo.patch +) + +DOCS=( AUTHOR CHANGELOG README THANKS ) + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/${PN}.initd-3 ${PN} + newconfd "${FILESDIR}"/${PN}.confd-3 ${PN} + + rm -r "${ED}"/var/{log,run} || die + mv "${ED}"/usr/share/doc/{${PN},${PF}} || die +} diff --git a/net-analyzer/arpon/files/arpon-3.0-CFLAGS.patch b/net-analyzer/arpon/files/arpon-3.0-CFLAGS.patch new file mode 100644 index 000000000000..7cc917b305c7 --- /dev/null +++ b/net-analyzer/arpon/files/arpon-3.0-CFLAGS.patch @@ -0,0 +1,17 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,12 +88,12 @@ + message(STATUS "Build type: Debug") + + set(CMAKE_BUILD_TYPE "Debug") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wextra -Wformat=2 -Winit-self -Wreturn-type -Wswitch-default -Wswitch-enum -Wunused-parameter -Wuninitialized -Wstrict-aliasing=3 -Wstrict-overflow=5 -Wdeclaration-after-statement -Wundef -Wpointer-arith -Wunsafe-loop-optimizations -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsizeof-pointer-memaccess -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-declaration -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wlong-long -Wvariadic-macros -Wvarargs -Wvla -Wdisabled-optimization -Woverlength-strings -O0 -g -ggdb") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat=2 -Winit-self -Wreturn-type -Wswitch-default -Wswitch-enum -Wunused-parameter -Wuninitialized -Wstrict-aliasing=3 -Wstrict-overflow=5 -Wdeclaration-after-statement -Wundef -Wpointer-arith -Wunsafe-loop-optimizations -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsizeof-pointer-memaccess -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-declaration -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wlong-long -Wvariadic-macros -Wvarargs -Wvla -Wdisabled-optimization -Woverlength-strings") + else(cmake_build_type_tolower STREQUAL "debug") + message(STATUS "Build type: Release") + + set(CMAKE_BUILD_TYPE "Release") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wextra -O3 -DNDEBUG") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -DNDEBUG") + endif(cmake_build_type_tolower STREQUAL "debug") + + find_package(Headers) diff --git a/net-analyzer/arpon/files/arpon-3.0-cmake4.patch b/net-analyzer/arpon/files/arpon-3.0-cmake4.patch new file mode 100644 index 000000000000..59880378fe47 --- /dev/null +++ b/net-analyzer/arpon/files/arpon-3.0-cmake4.patch @@ -0,0 +1,13 @@ +Fix build failures with CMake 4 +https://bugs.gentoo.org/952092 +--- a/CMakeLists.txt 2025-03-26 21:03:28.124742115 +0300 ++++ b/CMakeLists.txt 2025-03-26 21:03:56.696915295 +0300 +@@ -40,7 +40,7 @@ + # By default ArpON will be installed to / path. + # + +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 3.5...4.0) + + project(ArpON C) + set(AUTHOR "Andrea Di Pasquale <spikey.it@gmail.com>" INTERNAL "Author") diff --git a/net-analyzer/arpon/files/arpon-3.0-gentoo.patch b/net-analyzer/arpon/files/arpon-3.0-gentoo.patch new file mode 100644 index 000000000000..1deda181acf0 --- /dev/null +++ b/net-analyzer/arpon/files/arpon-3.0-gentoo.patch @@ -0,0 +1,146 @@ +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -31,7 +31,7 @@ + + set(arpon_doc_src "${CMAKE_SOURCE_DIR}/doc/arpon") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install(DIRECTORY ${arpon_doc_src} + DESTINATION /usr/share/doc + FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ +@@ -41,7 +41,7 @@ + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc + FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + COMPONENT Doc) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + # + # EOF +--- a/log/CMakeLists.txt ++++ b/log/CMakeLists.txt +@@ -31,7 +31,7 @@ + + set(arpon_log_src "${CMAKE_SOURCE_DIR}/log/arpon.log") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install(FILES ${arpon_log_src} + DESTINATION /var/log + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ +@@ -41,7 +41,7 @@ + DESTINATION ${CMAKE_INSTALL_PREFIX}/log + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ + COMPONENT Log) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + # + # EOF +--- a/etc/CMakeLists.txt ++++ b/etc/CMakeLists.txt +@@ -31,7 +31,7 @@ + + set(arpon_etc_src "${CMAKE_SOURCE_DIR}/etc/arpon.conf") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install(FILES ${arpon_etc_src} + DESTINATION /etc + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +@@ -41,7 +41,7 @@ + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + COMPONENT Etc) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + # + # EOF +--- a/run/CMakeLists.txt ++++ b/run/CMakeLists.txt +@@ -31,7 +31,7 @@ + + set(arpon_run_src "${CMAKE_SOURCE_DIR}/run/arpon.pid") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install(FILES ${arpon_run_src} + DESTINATION /var/run + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +@@ -41,7 +41,7 @@ + DESTINATION ${CMAKE_INSTALL_PREFIX}/run + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + COMPONENT Run) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + # + # EOF +--- a/man8/CMakeLists.txt ++++ b/man8/CMakeLists.txt +@@ -31,7 +31,7 @@ + + set(arpon_man_src "${CMAKE_SOURCE_DIR}/man8/arpon.8") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + set(ARPON_DOC_FILE + "/usr/share/doc/arpon/index.html") + set(ARPON_ETC_FILE +@@ -49,7 +49,7 @@ + "${CMAKE_INSTALL_PREFIX}/log/arpon.log") + set(ARPON_PID_FILE + "${CMAKE_INSTALL_PREFIX}/run/arpon.pid") +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + file(READ ${arpon_man_src} FILE_CONTENT) + string(REGEX REPLACE "ARPON_DOC" "${ARPON_DOC_FILE}" +@@ -65,7 +65,7 @@ + MODIFIED_FILE_CONTENT4 "${MODIFIED_FILE_CONTENT3}") + file(WRITE ${PROJECT_BINARY_DIR}/man8/arpon.8 "${MODIFIED_FILE_CONTENT4}") + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install(FILES + ${PROJECT_BINARY_DIR}/man8/arpon.8 DESTINATION /usr/share/man/man8 + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ +@@ -76,7 +76,7 @@ + ${CMAKE_INSTALL_PREFIX}/share/man/man8 + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + COMPONENT Man) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + # + # EOF +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -29,13 +29,13 @@ + # $ArpON: CMakeLists.txt,v 3.0-ng 01/29/2016 03:07:40 spikey Exp $ + # + +-if(${CMAKE_INSTALL_PREFIX} STREQUAL "/") +- set(ARPON_SBIN /sbin/arpon) ++if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") ++ set(ARPON_SBIN /usr/sbin/arpon) + set(ARPON_DOC /usr/share/doc/arpon/index.html) + set(ARPON_ETC /etc/arpon.conf) + set(ARPON_LOG /var/log/arpon.log) + set(ARPON_PID /var/run/arpon.pid) +- set(install_prefix /sbin) ++ set(install_prefix /usr/sbin) + else(${CMAKE_INSTALL_PREFIX} STREQUAL "/") + set(ARPON_SBIN ${CMAKE_INSTALL_PREFIX}/sbin/arpon) + set(ARPON_DOC ${CMAKE_INSTALL_PREFIX}/share/doc/arpon/index.html) +@@ -43,7 +43,7 @@ + set(ARPON_LOG ${CMAKE_INSTALL_PREFIX}/log/arpon.log) + set(ARPON_PID ${CMAKE_INSTALL_PREFIX}/run/arpon.pid) + set(install_prefix ${CMAKE_INSTALL_PREFIX}/sbin) +-endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/") ++endif(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + + configure_file( + "${PROJECT_SOURCE_DIR}/src/config.h.in" diff --git a/net-analyzer/arpon/files/arpon.confd-3 b/net-analyzer/arpon/files/arpon.confd-3 new file mode 100644 index 000000000000..9508cb644ddf --- /dev/null +++ b/net-analyzer/arpon/files/arpon.confd-3 @@ -0,0 +1,4 @@ +METHOD="--darpi" +IFACE="eth0" + +ARPON_OPTS="${METHOD} --interface ${IFACE}" diff --git a/net-analyzer/arpon/files/arpon.initd-3 b/net-analyzer/arpon/files/arpon.initd-3 new file mode 100644 index 000000000000..0fad4cebb3bf --- /dev/null +++ b/net-analyzer/arpon/files/arpon.initd-3 @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + checkpath -f /var/log/arpon.log + checkpath -f /var/run/arpon.pid + ebegin "Starting arpon" + start-stop-daemon --start --background --make-pidfile --pidfile "/var/run/arpon.pid" \ + --exec /usr/sbin/arpon -- ${ARPON_OPTS} >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping arpon" + start-stop-daemon --stop --pidfile "/var/run/arpon.pid" + eend $? +} diff --git a/net-analyzer/arpon/metadata.xml b/net-analyzer/arpon/metadata.xml new file mode 100644 index 000000000000..011d298371ee --- /dev/null +++ b/net-analyzer/arpon/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arptools/Manifest b/net-analyzer/arptools/Manifest new file mode 100644 index 000000000000..d0d6a29a041c --- /dev/null +++ b/net-analyzer/arptools/Manifest @@ -0,0 +1 @@ +DIST arptools-1.0.2.tar.gz 87475 BLAKE2B 1bbfa8082db28abaa78a3f9f363ed255909e6c6dc2a9fabc1668f66228977b9ecc5b70d4cf3514affb324daf31b906b40b1ec7d88ecc9568504362789ece42fb SHA512 c976a5a7778a9330ebda6ed69ef045ede3747b98d27a7e575f985646a52bf57e4a6584da280a0a13520a43b5d765b2ddbec2239d7c3ac865ffdf1ae23f5ff347 diff --git a/net-analyzer/arptools/arptools-1.0.2-r1.ebuild b/net-analyzer/arptools/arptools-1.0.2-r1.ebuild new file mode 100644 index 000000000000..6b1d50d07a27 --- /dev/null +++ b/net-analyzer/arptools/arptools-1.0.2-r1.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Collection of libnet and libpcap based ARP utilities" +HOMEPAGE="https://github.com/burghardt/arptools" +SRC_URI="http://www.burghardt.pl/files/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~riscv ~x86" + +DEPEND=" + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +DOCS=( AUTHORS ChangeLog NEWS README TODO ) diff --git a/net-analyzer/arptools/metadata.xml b/net-analyzer/arptools/metadata.xml new file mode 100644 index 000000000000..f960c668d704 --- /dev/null +++ b/net-analyzer/arptools/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/arpwatch/Manifest b/net-analyzer/arpwatch/Manifest new file mode 100644 index 000000000000..e22d5e67642a --- /dev/null +++ b/net-analyzer/arpwatch/Manifest @@ -0,0 +1,5 @@ +DIST arpwatch-3.5.tar.gz 117594 BLAKE2B 73b979ec279e5bf5baaeac05949e1bddf08cd9c3c7afcd29b37991ba55ba2bb8968b57b407eb571ec52871017372f479e586ba84b0f1aee67331ce7617309fb8 SHA512 e46b350c483f0e7c873eb177be337f238b2db3d859d8b305df5a74d9d97ca449750f9ed50a99c5d4c51618e22747731d70ceb3f13aae39c39d258b960258fb88 +DIST arpwatch-3.6.tar.gz 117254 BLAKE2B 77cb129bb543a45e22e27c02193b2ceaf4c65fd56b4d77e710379a2fbcaa5f1be4d625ea0b99f63843358ae993c7bee95db764baf36e0802a7aceae5d81706c7 SHA512 5ba47b15f294396f79efa4b72743169b9eb36747d675144e8f456a23d3987dc0d719d9b97704e7eeec0795f03ee7ef7e8fe8a4ba1ee35d19ab8ec6b077d345e8 +DIST arpwatch-3.7.tar.gz 117274 BLAKE2B 512f271979e964ed26148eea2587bca61a55df065960444f629993ec04eaf49be9e8016ed18278566935be38de4e6e71a03a9ab8d6b4befcef3e1fa4b02ad850 SHA512 8bdda7fc94241813ee57c91683ce5c6a8e4d5e66255bf2cc302d69763086e29c6548b009805660274437edca7a5b8bbf24566846357afe1f96015bd26db89624 +DIST arpwatch-3.8.tar.gz 117299 BLAKE2B 2ec0360ed12722e09cfccd06a1ab48ed77ea017d9ebf182cf2792dac53b61b1f0d6b5895fe30ec4d6b9e05d78aa75762775e548573f7bd5b2918ce8ca775eed3 SHA512 9147da89f187adaaa26bc2cef0f04a69baa9a5ff96844f6a7e32ee269a3e1c4fed75b186ca3eb6b97f3579b648f63a7590e0534f545e7480d7ec14d9c7c18f89 +DIST ethercodes.dat-20200628.xz 239028 BLAKE2B e702b9109ef3ccce73e2637f96126bf19e7dfa533774c0bd623042b3609f147981263b84397ec155a65ae12fa57247c32644e1e7e57c2c749ef768156d853027 SHA512 2edc05d384f387e6b43d07da99038625f9c55c8044b5a48d1bcf9f657df691bf413a97fb9ca915f04dbdafab23f919edd15d906c4ce8bff12be0b255a6717f07 diff --git a/net-analyzer/arpwatch/arpwatch-3.5.ebuild b/net-analyzer/arpwatch/arpwatch-3.5.ebuild new file mode 100644 index 000000000000..47678541e489 --- /dev/null +++ b/net-analyzer/arpwatch/arpwatch-3.5.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +ETHERCODES_DATE=20200628 +DESCRIPTION="An ethernet monitor program that keeps track of ethernet/IP address pairings" +HOMEPAGE="https://ee.lbl.gov/" +SRC_URI=" + https://ee.lbl.gov/downloads/${PN}/${P}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/ethercodes.dat-${ETHERCODES_DATE}.xz +" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~riscv ~sparc x86" +IUSE="selinux" + +DEPEND=" + acct-group/arpwatch + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND=" + ${DEPEND} + acct-user/arpwatch + virtual/mta + selinux? ( sec-policy/selinux-arpwatch ) +" + +PATCHES=( + # sent upstream on 2023-12-05 + "${FILESDIR}"/0001-Fix-configure-check-for-time.h.patch + "${FILESDIR}"/0002-Avoid-using-undocumented-internals-for-DNS.patch +) + +src_prepare() { + default + + # Temporary for 0001-Fix-configure-check-for-time.h.patch + eautoreconf +} + +src_install() { + dosbin arp2ethers arpfetch arpsnmp arpwatch bihourly.sh massagevendor.py update-ethercodes.sh + doman arpsnmp.8 arpwatch.8 + + insinto /usr/share/arpwatch + newins "${WORKDIR}"/ethercodes.dat-${ETHERCODES_DATE} ethercodes.dat + + insinto /usr/share/arpwatch/awk + doins d.awk duplicates.awk e.awk euppertolower.awk p.awk + + diropts --group=arpwatch --mode=770 + keepdir /var/lib/arpwatch + dodoc README CHANGES + + newconfd "${FILESDIR}"/arpwatch.confd-r2 arpwatch + newinitd "${FILESDIR}"/arpwatch.initd-r2 arpwatch + + systemd_dounit "${FILESDIR}/arpwatch.service" + systemd_install_serviced "${FILESDIR}/arpwatch.conf" +} + +pkg_postinst() { + # Previous revisions installed /var/lib/arpwatch with the wrong + # ownership. Instead of the intended arpwatch:root, it was left as + # root:root. If we find any such mis-owned directories, we fix them, + # and then set the permission bits how we want them in *this* + # revision. + # + # The "--from" flag ensures that we only fix directories that need + # fixing, and the "&& chmod" ensures that we only adjust the + # permissions if the owner also needed fixing. + chown \ + --from=root:root \ + --no-dereference \ + :arpwatch \ + "${ROOT}"/var/lib/arpwatch && \ + chmod 770 "${ROOT}"/var/lib/arpwatch +} diff --git a/net-analyzer/arpwatch/arpwatch-3.6.ebuild b/net-analyzer/arpwatch/arpwatch-3.6.ebuild new file mode 100644 index 000000000000..47678541e489 --- /dev/null +++ b/net-analyzer/arpwatch/arpwatch-3.6.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +ETHERCODES_DATE=20200628 +DESCRIPTION="An ethernet monitor program that keeps track of ethernet/IP address pairings" +HOMEPAGE="https://ee.lbl.gov/" +SRC_URI=" + https://ee.lbl.gov/downloads/${PN}/${P}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/ethercodes.dat-${ETHERCODES_DATE}.xz +" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~riscv ~sparc x86" +IUSE="selinux" + +DEPEND=" + acct-group/arpwatch + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND=" + ${DEPEND} + acct-user/arpwatch + virtual/mta + selinux? ( sec-policy/selinux-arpwatch ) +" + +PATCHES=( + # sent upstream on 2023-12-05 + "${FILESDIR}"/0001-Fix-configure-check-for-time.h.patch + "${FILESDIR}"/0002-Avoid-using-undocumented-internals-for-DNS.patch +) + +src_prepare() { + default + + # Temporary for 0001-Fix-configure-check-for-time.h.patch + eautoreconf +} + +src_install() { + dosbin arp2ethers arpfetch arpsnmp arpwatch bihourly.sh massagevendor.py update-ethercodes.sh + doman arpsnmp.8 arpwatch.8 + + insinto /usr/share/arpwatch + newins "${WORKDIR}"/ethercodes.dat-${ETHERCODES_DATE} ethercodes.dat + + insinto /usr/share/arpwatch/awk + doins d.awk duplicates.awk e.awk euppertolower.awk p.awk + + diropts --group=arpwatch --mode=770 + keepdir /var/lib/arpwatch + dodoc README CHANGES + + newconfd "${FILESDIR}"/arpwatch.confd-r2 arpwatch + newinitd "${FILESDIR}"/arpwatch.initd-r2 arpwatch + + systemd_dounit "${FILESDIR}/arpwatch.service" + systemd_install_serviced "${FILESDIR}/arpwatch.conf" +} + +pkg_postinst() { + # Previous revisions installed /var/lib/arpwatch with the wrong + # ownership. Instead of the intended arpwatch:root, it was left as + # root:root. If we find any such mis-owned directories, we fix them, + # and then set the permission bits how we want them in *this* + # revision. + # + # The "--from" flag ensures that we only fix directories that need + # fixing, and the "&& chmod" ensures that we only adjust the + # permissions if the owner also needed fixing. + chown \ + --from=root:root \ + --no-dereference \ + :arpwatch \ + "${ROOT}"/var/lib/arpwatch && \ + chmod 770 "${ROOT}"/var/lib/arpwatch +} diff --git a/net-analyzer/arpwatch/arpwatch-3.7.ebuild b/net-analyzer/arpwatch/arpwatch-3.7.ebuild new file mode 100644 index 000000000000..47678541e489 --- /dev/null +++ b/net-analyzer/arpwatch/arpwatch-3.7.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +ETHERCODES_DATE=20200628 +DESCRIPTION="An ethernet monitor program that keeps track of ethernet/IP address pairings" +HOMEPAGE="https://ee.lbl.gov/" +SRC_URI=" + https://ee.lbl.gov/downloads/${PN}/${P}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/ethercodes.dat-${ETHERCODES_DATE}.xz +" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~riscv ~sparc x86" +IUSE="selinux" + +DEPEND=" + acct-group/arpwatch + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND=" + ${DEPEND} + acct-user/arpwatch + virtual/mta + selinux? ( sec-policy/selinux-arpwatch ) +" + +PATCHES=( + # sent upstream on 2023-12-05 + "${FILESDIR}"/0001-Fix-configure-check-for-time.h.patch + "${FILESDIR}"/0002-Avoid-using-undocumented-internals-for-DNS.patch +) + +src_prepare() { + default + + # Temporary for 0001-Fix-configure-check-for-time.h.patch + eautoreconf +} + +src_install() { + dosbin arp2ethers arpfetch arpsnmp arpwatch bihourly.sh massagevendor.py update-ethercodes.sh + doman arpsnmp.8 arpwatch.8 + + insinto /usr/share/arpwatch + newins "${WORKDIR}"/ethercodes.dat-${ETHERCODES_DATE} ethercodes.dat + + insinto /usr/share/arpwatch/awk + doins d.awk duplicates.awk e.awk euppertolower.awk p.awk + + diropts --group=arpwatch --mode=770 + keepdir /var/lib/arpwatch + dodoc README CHANGES + + newconfd "${FILESDIR}"/arpwatch.confd-r2 arpwatch + newinitd "${FILESDIR}"/arpwatch.initd-r2 arpwatch + + systemd_dounit "${FILESDIR}/arpwatch.service" + systemd_install_serviced "${FILESDIR}/arpwatch.conf" +} + +pkg_postinst() { + # Previous revisions installed /var/lib/arpwatch with the wrong + # ownership. Instead of the intended arpwatch:root, it was left as + # root:root. If we find any such mis-owned directories, we fix them, + # and then set the permission bits how we want them in *this* + # revision. + # + # The "--from" flag ensures that we only fix directories that need + # fixing, and the "&& chmod" ensures that we only adjust the + # permissions if the owner also needed fixing. + chown \ + --from=root:root \ + --no-dereference \ + :arpwatch \ + "${ROOT}"/var/lib/arpwatch && \ + chmod 770 "${ROOT}"/var/lib/arpwatch +} diff --git a/net-analyzer/arpwatch/arpwatch-3.8.ebuild b/net-analyzer/arpwatch/arpwatch-3.8.ebuild new file mode 100644 index 000000000000..c5457e9ac738 --- /dev/null +++ b/net-analyzer/arpwatch/arpwatch-3.8.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +ETHERCODES_DATE=20200628 +DESCRIPTION="An ethernet monitor program that keeps track of ethernet/IP address pairings" +HOMEPAGE="https://ee.lbl.gov/" +SRC_URI=" + https://ee.lbl.gov/downloads/${PN}/${P}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/ethercodes.dat-${ETHERCODES_DATE}.xz +" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~riscv ~sparc x86" +IUSE="selinux" + +DEPEND=" + acct-group/arpwatch + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND=" + ${DEPEND} + acct-user/arpwatch + virtual/mta + selinux? ( sec-policy/selinux-arpwatch ) +" + +PATCHES=( + # sent upstream on 2023-12-05 + "${FILESDIR}"/0001-Fix-configure-check-for-time.h.patch + "${FILESDIR}"/0002-Avoid-using-undocumented-internals-for-DNS.patch + # custom fix + "${FILESDIR}"/0003-Drop-deprecated-resolver-option.patch + # bug 783195 + "${FILESDIR}"/0004-Use-correct-datadir.patch + "${FILESDIR}"/0005-Use-correct-paths-in-update-ethercodes.patch +) + +src_prepare() { + default + + # Temporary for 0001-Fix-configure-check-for-time.h.patch + eautoreconf +} + +src_configure() { + # pass missing @sbindir@ (bug 783195) + local myconf=( + --sbindir="${EPREFIX}/usr/sbin" + ) + + econf "${myconf[@]}" +} + +src_install() { + dosbin arp2ethers arpfetch arpsnmp arpwatch bihourly.sh massagevendor.py update-ethercodes.sh + doman arpsnmp.8 arpwatch.8 + + insinto /usr/share/arpwatch + newins "${WORKDIR}"/ethercodes.dat-${ETHERCODES_DATE} ethercodes.dat + + insinto /usr/share/arpwatch/awk + doins d.awk duplicates.awk e.awk euppertolower.awk p.awk + + diropts --group=arpwatch --mode=770 + keepdir /var/lib/arpwatch + dodoc README CHANGES + + newconfd "${FILESDIR}"/arpwatch.confd-r2 arpwatch + newinitd "${FILESDIR}"/arpwatch.initd-r2 arpwatch + + systemd_dounit "${FILESDIR}/arpwatch.service" + systemd_install_serviced "${FILESDIR}/arpwatch.conf" +} + +pkg_postinst() { + # Previous revisions installed /var/lib/arpwatch with the wrong + # ownership. Instead of the intended arpwatch:root, it was left as + # root:root. If we find any such mis-owned directories, we fix them, + # and then set the permission bits how we want them in *this* + # revision. + # + # The "--from" flag ensures that we only fix directories that need + # fixing, and the "&& chmod" ensures that we only adjust the + # permissions if the owner also needed fixing. + chown \ + --from=root:root \ + --no-dereference \ + :arpwatch \ + "${ROOT}"/var/lib/arpwatch && \ + chmod 770 "${ROOT}"/var/lib/arpwatch + + # Remind users to update their ethercodes.dat + einfo "Please remember to update your ethercodes.dat (IEEE MA-L Assignments) by running:" + einfo + einfo " /usr/sbin/update-ethercodes.sh" + einfo + einfo "Without this newer device vendors may not be recognized." +} diff --git a/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch b/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch new file mode 100644 index 000000000000..4c6b1466a452 --- /dev/null +++ b/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch @@ -0,0 +1,36 @@ +sent upstream on 2023-12-05 + +From ea63ce2240a9be492086a56921c644533c740924 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 5 Dec 2023 08:39:39 +0000 +Subject: [PATCH 1/2] Fix configure check for time.h + +Otherwise, we get an implicit function declaration warning/error (with Clang 16, +GCC 14) for localtime. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/configure.in ++++ b/configure.in +@@ -21,7 +21,7 @@ fi + AC_LBL_C_INIT(V_CCOPT, V_INCLS) + AC_PROG_INSTALL + +-AC_CHECK_HEADERS(fcntl.h memory.h) ++AC_CHECK_HEADERS(fcntl.h memory.h time.h) + + dnl + dnl Install rc.d script on FreeBSD +--- a/report.c ++++ b/report.c +@@ -59,7 +59,7 @@ struct rtentry; + #include <stdlib.h> + #include <string.h> + #include <syslog.h> +-#ifdef TIME_WITH_SYS_TIME ++#ifdef HAVE_TIME_H + #include <time.h> + #endif + #include <unistd.h> +-- +2.43.0 + diff --git a/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch b/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch new file mode 100644 index 000000000000..127c46c67abf --- /dev/null +++ b/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch @@ -0,0 +1,35 @@ +sent upstream on 2023-12-05 + +From 957425ec7ca2714a4c31431f4746da7644a7f4e9 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 5 Dec 2023 08:40:31 +0000 +Subject: [PATCH 2/2] Avoid using undocumented internals for DNS + +_getshort is a reserved internal function and is deprecated per +glibc's resolv.h at least. + +Use ns_get32 instead as recommended by the deprecation warning. + +This also fixes an implicit function declaration warning/error with +Clang 16 / GCC 14. + +Bug: https://bugs.gentoo.org/829633 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/dns.c ++++ b/dns.c +@@ -115,10 +115,10 @@ gethinfo(char *hostname, char *cpu, int cpulen, char *os, int oslen) + (u_char *)cp, (char *)bp, buflen)) < 0) + break; + cp += n; +- type = _getshort(cp); ++ type = ns_get32(cp); + cp += sizeof(u_short); /* class */ + cp += sizeof(u_short) + sizeof(u_int32_t); +- n = _getshort(cp); ++ n = ns_get32(cp); + cp += sizeof(u_short); + if (type == T_HINFO) { + /* Unpack */ +-- +2.43.0 + diff --git a/net-analyzer/arpwatch/files/0003-Drop-deprecated-resolver-option.patch b/net-analyzer/arpwatch/files/0003-Drop-deprecated-resolver-option.patch new file mode 100644 index 000000000000..069e8423d786 --- /dev/null +++ b/net-analyzer/arpwatch/files/0003-Drop-deprecated-resolver-option.patch @@ -0,0 +1,17 @@ +This enumeration value is deprecated in /usr/include/resolv.h: + +#define RES_AAONLY \ + __glibc_macro_warning ("RES_AAONLY is deprecated") 0x00000004 + +Since Gentoo is not using outdated glibc version it is safe to disable it. + +--- a/dns.c ++++ b/dns.c +@@ -150,7 +150,6 @@ + struct hostent *hp; + + options = _res.options; +- _res.options |= RES_AAONLY; + _res.options &= ~(RES_DEFNAMES | RES_DNSRCH); + hp = gethostbyaddr((char *)&a, sizeof(a), AF_INET); + _res.options = options; diff --git a/net-analyzer/arpwatch/files/0004-Use-correct-datadir.patch b/net-analyzer/arpwatch/files/0004-Use-correct-datadir.patch new file mode 100644 index 000000000000..a8e199a2465c --- /dev/null +++ b/net-analyzer/arpwatch/files/0004-Use-correct-datadir.patch @@ -0,0 +1,14 @@ +Use correct directory for database files. +Bug: https://bugs.gentoo.org/783195 + +--- a/Makefile.in ++++ b/Makefile.in +@@ -40,7 +40,7 @@ MANDEST = @mandir@ + # The root of the directory tree for read-only + datarootdir = @datarootdir@ + # Pathname of directory to install database file +-ARPDIR ?= @prefix@/arpwatch ++ARPDIR ?= @datarootdir@/arpwatch + + # VPATH + srcdir = @srcdir@ diff --git a/net-analyzer/arpwatch/files/0005-Use-correct-paths-in-update-ethercodes.patch b/net-analyzer/arpwatch/files/0005-Use-correct-paths-in-update-ethercodes.patch new file mode 100644 index 000000000000..564cf3bc9a0c --- /dev/null +++ b/net-analyzer/arpwatch/files/0005-Use-correct-paths-in-update-ethercodes.patch @@ -0,0 +1,30 @@ +Use correct paths in update-etherncodes.sh +Bug: https://bugs.gentoo.org/783195 + +--- a/update-ethercodes.sh.in ++++ b/update-ethercodes.sh.in +@@ -6,22 +6,19 @@ + + prog="`basename $0`" + +-PATH=/usr/local/bin:${PATH} +-export PATH +- + t1=/tmp/${prog}.1.$$ + + trap 'rm -f ${t1}; exit 1' 1 2 3 15 EXIT + + if [ ! -f arp.dat ]; then +- cd /usr/local/arpwatch || exit 1 ++ cd @datarootdir@/arpwatch || exit 1 + fi + + fn=ethercodes.dat + url=https://standards-oui.ieee.org/oui/oui.csv + + cmd1="curl --no-progress-meter ${url}" +-cmd2=./massagevendor ++cmd2=@sbindir@/massagevendor.py + + # Emit exit status of first command in pipe + # https://unix.stackexchange.com/a/70675 diff --git a/net-analyzer/arpwatch/files/arpwatch.conf b/net-analyzer/arpwatch/files/arpwatch.conf new file mode 100644 index 000000000000..070f0edad80b --- /dev/null +++ b/net-analyzer/arpwatch/files/arpwatch.conf @@ -0,0 +1,16 @@ +# Config file for /etc/systemd/system/arpwatch +# see arpwatch.8 for more information + +IFACES=-i eno1 + +# Location of the PID file +PIDFILE=-P /run/arpwatch.pid + +# Additional options to pass to arpwatch. +OPTIONS=-N -p -Q -D + +# Where to store the data (default is /usr/share/arpwatch) +DATA=-f /var/log/arpwatch/eno1.dat + +# Comment this line if you wish arpwatch to run as root user (not recommended) +RUNUSER=-u arpwatch diff --git a/net-analyzer/arpwatch/files/arpwatch.confd-r2 b/net-analyzer/arpwatch/files/arpwatch.confd-r2 new file mode 100644 index 000000000000..2937349cdc83 --- /dev/null +++ b/net-analyzer/arpwatch/files/arpwatch.confd-r2 @@ -0,0 +1,18 @@ +# See arpwatch.8 for more information + +# Specify the interface for arpwatch to listen on here (default: lo). +# If you need to listen on more than one interface, you should +# run multiple arpwatch services; for example "arpwatch" and +# "arpwatch.eth1". These additional services can be configured by +# symlinking to the "arpwatch" service script, and by creating a new +# conf.d file whose name matches the new service (symlink) name. +# +# Example: +# +# ARPWATCH_IFACE="eth0" +# +ARPWATCH_IFACE="lo" + +# Additional options to pass to arpwatch. +# See arpwatch(8) +ARPWATCH_OPTS="-N -p" diff --git a/net-analyzer/arpwatch/files/arpwatch.initd-r2 b/net-analyzer/arpwatch/files/arpwatch.initd-r2 new file mode 100644 index 000000000000..93438209e1f1 --- /dev/null +++ b/net-analyzer/arpwatch/files/arpwatch.initd-r2 @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Default to "lo" for the interface, so that the init script will work +# out-of-the-box. +: ${ARPWATCH_IFACE:=lo} + +ARPWATCH_DATAFILE="/var/lib/arpwatch/${RC_SVCNAME}.dat" + +command="/usr/sbin/arpwatch" +pidfile="/run/${RC_SVCNAME}.pid" +command_args=" + -i ${ARPWATCH_IFACE} + -f ${ARPWATCH_DATAFILE} + -P ${pidfile} + ${ARPWATCH_OPTS} +" + +depend() { + if [ -f "/proc/net/vlan/${ARPWATCH_IFACE}" ]; then + _if=$(grep -i "device" /proc/net/vlan/${ARPWATCH_IFACE} |awk '{print $2;}') + else + _if=${ARPWATCH_IFACE} + fi + need "net.${_if}" +} + +start_pre() { + # The "arpwatch" user must be a member of the "arpwatch" group for + # this to work. + checkpath --file --owner root:arpwatch --mode 0660 "${ARPWATCH_DATAFILE}" +} diff --git a/net-analyzer/arpwatch/files/arpwatch.service b/net-analyzer/arpwatch/files/arpwatch.service new file mode 100644 index 000000000000..943e3146f8df --- /dev/null +++ b/net-analyzer/arpwatch/files/arpwatch.service @@ -0,0 +1,16 @@ +[Unit] +Description=Ethernet monitoring program that tracks net/IP pairings +Documentation=man:arpwatch(8) +Conflicts= +After=systemd-networkd.service + +PIDFILE=/run/arpwatch.pid + +[Service] +Type=forking +ExecStartPre=/bin/rm -f /run/arpwatch.pid +ExecStart=/usr/sbin/arpwatch $IFACES $PIDFILE $RUNUSER $OPTIONS $DATA +Restart=on-abort + +[Install] +Alias=arpwatchd.service diff --git a/net-analyzer/arpwatch/metadata.xml b/net-analyzer/arpwatch/metadata.xml new file mode 100644 index 000000000000..fa7f3959e37d --- /dev/null +++ b/net-analyzer/arpwatch/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + The arpwatch package contains arpwatch and arpsnmp. Arpwatch and arpsnmp + are both network monitoring tools. Both utilities monitor Ethernet or + FDDI network traffic and build databases of Ethernet/IP address pairs, + and can report certain changes via email. Install the arpwatch package + if you need networking monitoring devices which will automatically keep + track of the IP addresses on your network. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/authforce/Manifest b/net-analyzer/authforce/Manifest new file mode 100644 index 000000000000..41ebfaa169c6 --- /dev/null +++ b/net-analyzer/authforce/Manifest @@ -0,0 +1 @@ +DIST authforce-0.9.9.tar.gz 424557 BLAKE2B 3b962f7c3d445525364b8e40e3b47d0c951e04b7b5d40077540b1dc34721aca5163f9328451f23b7f1891d3a5440d003568ca6eb5104a523bdccb33ade61546d SHA512 fd94c6ac5f98f480af4acba2de7c0ad81dbc4c759cce8f3f722dcf8870b0c16a9e7d462f4542784737e021f9c8d480b26895dddb4d5953f730ff8a181ad474b3 diff --git a/net-analyzer/authforce/authforce-0.9.9-r4.ebuild b/net-analyzer/authforce/authforce-0.9.9-r4.ebuild new file mode 100644 index 000000000000..1c3be5b08d76 --- /dev/null +++ b/net-analyzer/authforce/authforce-0.9.9-r4.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="An HTTP authentication brute forcer" +HOMEPAGE="http://www.divineinvasion.net/authforce/" +SRC_URI="http://www.divineinvasion.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="curl nls" + +RDEPEND="sys-libs/readline:= + curl? ( net-misc/curl )" +DEPEND="${RDEPEND}" +BDEPEND="nls? ( sys-devel/gettext )" + +DOCS=( AUTHORS BUGS NEWS README THANKS TODO ) + +PATCHES=( + "${FILESDIR}"/${P}-curl.patch + "${FILESDIR}"/${P}-locale.patch + "${FILESDIR}"/${P}-fixes-for-Wall-warnings.patch + "${FILESDIR}"/${P}-fix-parsing-of-sample-config-file.patch + "${FILESDIR}"/${P}-fix-submit_dummy_list-re-declaration.patch + "${FILESDIR}"/${PN}-0.9.9-Include-stdlib.h-for-free.patch +) + +src_prepare() { + default + + gunzip doc/${PN}.1.gz || die + + sed -i -e "s/${PN}.1.gz/${PN}.1/g" \ + -e "s/\/mang/\/man1/g" doc/Makefile* || die +} + +src_configure() { + econf \ + $(use_with curl) \ + $(use_enable nls) \ + --with-path=/usr/share/${PN}/data:. +} + +src_install() { + default + doman doc/${PN}.1 +} diff --git a/net-analyzer/authforce/files/authforce-0.9.9-Include-stdlib.h-for-free.patch b/net-analyzer/authforce/files/authforce-0.9.9-Include-stdlib.h-for-free.patch new file mode 100644 index 000000000000..fec77215435c --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-Include-stdlib.h-for-free.patch @@ -0,0 +1,16 @@ +From e5e62f92c53f5f8cca9380ad3225c84be5eec04f Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 19 Oct 2022 03:33:51 +0100 +Subject: [PATCH] Include <stdlib.h> for free() + +Bug: https://bugs.gentoo.org/871222 +--- a/src/debug.c ++++ b/src/debug.c +@@ -3,6 +3,7 @@ + #include <config.h> + #include <stdio.h> + #include <stdarg.h> ++#include <stdlib.h> + #ifdef MEMWATCH + #include "memwatch.h" + #endif /* MEMWATCH*/ diff --git a/net-analyzer/authforce/files/authforce-0.9.9-curl.patch b/net-analyzer/authforce/files/authforce-0.9.9-curl.patch new file mode 100644 index 000000000000..22552f8aafd4 --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-curl.patch @@ -0,0 +1,10 @@ +--- authforce-0.9.9/src/http.c ++++ authforce-0.9.9/src/http.c +@@ -7,7 +7,6 @@ + #include <time.h> + #ifdef USE_CURL + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + #endif /* USE_CURL */ + #ifdef MEMWATCH diff --git a/net-analyzer/authforce/files/authforce-0.9.9-fix-parsing-of-sample-config-file.patch b/net-analyzer/authforce/files/authforce-0.9.9-fix-parsing-of-sample-config-file.patch new file mode 100644 index 000000000000..902b2a086e0d --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-fix-parsing-of-sample-config-file.patch @@ -0,0 +1,54 @@ +From 294ef3529016c29769d10dee9e5f639c2ce02b91 Mon Sep 17 00:00:00 2001 +From: "Zachary P. Landau" <zlandau@jellofund.net> +Date: Wed, 5 Feb 2020 23:18:31 -0800 +Subject: [PATCH 3/4] Fix parsing of sample config file + +This code is horribly broken, but we should at least be able to parse +the authforcerc.sample file, and report the right line number when +failing. +--- + src/config.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/config.c b/src/config.c +index 4462fcc..66313d9 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -11,7 +11,7 @@ + #endif /* MEMWATCH */ + #include "extern.h" + +-#define BUFFER_LEN 82 ++#define BUFFER_LEN 100 + #define IS_BIT(x) (!strcmp(x, "0") || !strcmp(x, "1")) + + static void process_boolean(char *option, char *value, int *variable) { +@@ -30,7 +30,7 @@ void parse_config(char *config) { + char *option; /* config file option */ + char *value; /* value for option */ + +- int line_number = 1; ++ int line_number = 0; + char *chop; + + /* MEMWATCH: reports this isnt freed, why? */ +@@ -45,6 +45,7 @@ void parse_config(char *config) { + } + + while (fgets(buffer, sizeof(buffer), fp)) { ++ line_number++; + if (buffer[0] == '#' || buffer[0] == ';' || buffer[0] == '\n') + continue; + remove_crud(buffer); +@@ -123,8 +124,6 @@ void parse_config(char *config) { + else + if (!quiet) + printf("parse_config: option %s is not valid\n", option); +- +- line_number++; + } + + debug(3, "parse_config: read %s [%i]\n", config, line_number-1); +-- +2.25.0 + diff --git a/net-analyzer/authforce/files/authforce-0.9.9-fix-submit_dummy_list-re-declaration.patch b/net-analyzer/authforce/files/authforce-0.9.9-fix-submit_dummy_list-re-declaration.patch new file mode 100644 index 000000000000..e6ca243fcad7 --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-fix-submit_dummy_list-re-declaration.patch @@ -0,0 +1,25 @@ +From d7f718e78444acef635acdd19e34dc4783e741fa Mon Sep 17 00:00:00 2001 +From: "Zachary P. Landau" <zlandau@jellofund.net> +Date: Wed, 5 Feb 2020 23:00:06 -0800 +Subject: [PATCH 1/4] Fix submit_dummy_list re-declaration + +--- + src/extern.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/extern.h b/src/extern.h +index 6798bd7..cc08e0a 100644 +--- a/src/extern.h ++++ b/src/extern.h +@@ -61,7 +61,7 @@ extern void initialize_submit(void); + extern int submit(char *username, char *password); + extern void shutdown_submit(void); + #ifdef USE_DUMMY +-char **submit_dummy_list; ++extern char **submit_dummy_list; + #endif /* USE_DUMMY */ + + /* files.c */ +-- +2.25.0 + diff --git a/net-analyzer/authforce/files/authforce-0.9.9-fixes-for-Wall-warnings.patch b/net-analyzer/authforce/files/authforce-0.9.9-fixes-for-Wall-warnings.patch new file mode 100644 index 000000000000..083bb93d1296 --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-fixes-for-Wall-warnings.patch @@ -0,0 +1,111 @@ +From ef74da31208f1390bbc17d4c455c821f141ec78b Mon Sep 17 00:00:00 2001 +From: "Zachary P. Landau" <zlandau@jellofund.net> +Date: Wed, 5 Feb 2020 23:17:50 -0800 +Subject: [PATCH 2/4] Fixes for -Wall warnings + +--- + src/files.c | 10 +++++----- + src/http.c | 4 ---- + src/methods.c | 4 ++-- + 3 files changed, 7 insertions(+), 11 deletions(-) + +diff --git a/src/files.c b/src/files.c +index 1068616..92d45ac 100644 +--- a/src/files.c ++++ b/src/files.c +@@ -70,7 +70,7 @@ char **textlist(char *textfile) { + + /* MEMWATCH: this isnt freed, why? */ + wordlist[count] = malloc_w(sizeof(NULL)); +- wordlist[count] = (char)NULL; ++ wordlist[count] = NULL; + + fclose(fp); + +@@ -83,7 +83,7 @@ char **copy_list(char **list) { + char **n_list; /* new list */ + + /* find num of elements */ +- while (list[i] != (char)NULL) ++ while (list[i] != NULL) + i++; + /* plus one for NULL */ + i++; +@@ -91,12 +91,12 @@ char **copy_list(char **list) { + n_list = malloc_w(i*sizeof(char*)); + + i=0; +- while (list[i] != (char)NULL) { ++ while (list[i] != NULL) { + n_list[i] = (char*)strdup_w(list[i]); + i++; + } + +- n_list[i] = (char)NULL; ++ n_list[i] = NULL; + + return (n_list); + } +@@ -104,7 +104,7 @@ char **copy_list(char **list) { + void free_list(char **list) { + int i=0; + +- while (list[i] != (char)NULL) { ++ while (list[i] != NULL) { + free(list[i]); + i++; + } +diff --git a/src/http.c b/src/http.c +index 88acdfc..397ac1f 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -40,7 +40,6 @@ int submit(char *username, char *password) { + CURLcode result; + char error[CURL_ERROR_SIZE] = ""; + char authstring[92]; +- time_t before, after; + + + num_connects++; +@@ -59,8 +58,6 @@ int submit(char *username, char *password) { + } else + printf("trying %s->%s\n", username, password); + +- before = time(0); +- + if (curl) { + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error); +@@ -79,7 +76,6 @@ int submit(char *username, char *password) { + result = curl_easy_perform(curl); + } + +- after = time(0); + /* num_connects jumps the gun earlier on */ + // acs = stats(acs, after-before, num_connects-1); + +diff --git a/src/methods.c b/src/methods.c +index 3c74c65..bdb6efc 100644 +--- a/src/methods.c ++++ b/src/methods.c +@@ -76,7 +76,7 @@ char *transform(char *username, char *password) { + + strncpy(old_password, password, sizeof(char)*41); + +- while ((cur_element = elements[i]) != (char)NULL) { ++ while ((cur_element = elements[i]) != NULL) { + if (!strcmp(password, "{username}")) + strncpy(insertion, username, sizeof(insertion)); + else if (!strcmp(password, "{emanresu}")) +@@ -120,7 +120,7 @@ void common_pairs(void) { + } + + while (1) { +- if (common_pairs_list[i] == (char)NULL) ++ if (common_pairs_list[i] == NULL) + break; + strncpy(username, common_pairs_list[i], sizeof(char)*81); + password = extract(username, ':'); +-- +2.25.0 + diff --git a/net-analyzer/authforce/files/authforce-0.9.9-locale.patch b/net-analyzer/authforce/files/authforce-0.9.9-locale.patch new file mode 100644 index 000000000000..89792db3ea12 --- /dev/null +++ b/net-analyzer/authforce/files/authforce-0.9.9-locale.patch @@ -0,0 +1,15 @@ + src/main.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/main.c b/src/main.c +index 0fd275a..296e181 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -14,6 +14,7 @@ + #include "extern.h" + #ifdef ENABLE_NLS + #define _(x) dgettext(PACKAGE_NAME, x) ++#include <locale.h> + #else + #define _(x) (x) + #endif diff --git a/net-analyzer/authforce/metadata.xml b/net-analyzer/authforce/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/authforce/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bandwhich/Manifest b/net-analyzer/bandwhich/Manifest new file mode 100644 index 000000000000..927bd4ac183b --- /dev/null +++ b/net-analyzer/bandwhich/Manifest @@ -0,0 +1,288 @@ +DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79 +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.89.crate 47078 BLAKE2B fc824e72891bff0cc7aa3b538adfb9af7dc843ab6ed12b8b04eb70e62d32aae1decb9090621d3245dbe89841e73080d2d86973b4aee50873e798956da9b3faa6 SHA512 3c09317089ed78601a56c626700d12c0b49396e25fed9a9f05a2dbfbd6f91ad426c430633006a4043decd1f70a85c161c4f8dd7de0e4c00b82a169b89dda8da0 +DIST arbitrary-1.3.2.crate 32037 BLAKE2B f8f6a10a8f42f14eefaad4348b6ff200d0c2fb22faa7a2876247228046359e39c555f3170a1975f64f8537319b97c7ce2030dcab3614229c8334b5d6f9248114 SHA512 faab26c44f25d2c7298add2a657e4010d9fe24b3a61e2270bc6feac05cf2a82895fe225d2fb1c6b63e6c7da54e061955503f39322b96dbdbc4916601bd5e5ccf +DIST async-trait-0.1.83.crate 29054 BLAKE2B 4991f79abd8b9260b9541e754c30d3e0731ff786fcf65cc3f3eb75a5fcedcb37be147222778e1a0fa6c68d8fb872144b2b55b43cf6f8f4de371f24175cef405d SHA512 15969eafbdbe51e80433b53196962293daed2a70d3d9bac91c58e5e7359f60fc99ef519ceb1fd54e34d627c94f821329474a602f25f85179318d10c3147b5649 +DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c +DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520 +DIST bandwhich-0.23.1.tar.gz 3024342 BLAKE2B ecbecee25ef17416058de33250f2b7270d8e837f169006000abbbe249a67104e229e30cac5501cae5cf3fe93c292742db651e2fb6241b31043f50fb6d5e7128a SHA512 d8f247352cf8be18524c571480e5ec70c898f43e3f62bc37c44550b9552d9f637c6248b8d58c3d71f8c578e19e73e1a52f2b6da1749235a66bf107847a142c37 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST bytes-1.7.2.crate 64287 BLAKE2B 95e8a3b9d66072dfa7fa7d667786aae324a81218001e1b4af30373a9ff18ed1f76e23ea601febe776bb219bce59aa05bf6d5cb155b7dc4279ad523e9d0bdffd8 SHA512 a00cd5567175bbeb6f7c64d5bbdd2c15bce4ed448c0bcbda0a649d8614c1857e01d3c814d02a4c98fc8229487bddfd3251eb131d817e2ccd6a51458387796dfd +DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555 +DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b +DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8 +DIST castaway-0.2.3.crate 11509 BLAKE2B bbecba400bf98ef4158581f3b1673ca77dbec3ad754d3749f0e9342a47d1fa9f638c1388f0762413277b73251854ade26e08dd85b7d7133c73a5750d4dbf7d92 SHA512 2565a4e5709a25118462ac25b9f741e92456c81ddbf7c4e791d8c647f2ca5227b2f59ffac108f9d32c77cedc12219c517218c51a78b1d22a1baef1bf2c16e0a9 +DIST cc-1.1.28.crate 84424 BLAKE2B 9d617066957c9aa8d3ae86943be8494551624e34d8b1060d86959751fc3f874ef6d83c78235a7905e12ed72c16bfc45666fb36172708c3a53639c99342d34edf SHA512 98571ba96e7967579b70988d9308c8d3616cb1940b84c0d7dbeae837bf31c5a62731fa369b8b9d968ca843638efc7a9791ab76c3cf06deed4348d9d853ddacba +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846 +DIST clap-4.5.19.crate 56377 BLAKE2B 23b6ec8ad85063177a79e6a910640e3cff4ff069925b6e608022c50df7c72718a5a05ef9ae1562f869667c21bf6c93afe13f0f15b4b9dc4f91e14e7a108202bc SHA512 55d8cb53951c2a6ecec93ace3881ba20482aefe41dd87705c15e295462d7487b24b15c1caeee5e8ca5917ca28a381cae1c0d72781d6a440c26a41f3c64dd8be4 +DIST clap-verbosity-flag-2.2.2.crate 13009 BLAKE2B 7576561feb3407da0f060c72277188635dbe4b7c5f2893cfcfc99ee83d64f4d9607ad6c339622063a7f60de75f98117973ea53a2d8c15d3142b1a087cc05419d SHA512 63606660c6a811ec2b814cfe382ae9a29e0d91797941abd336742666324c818410df5bfd44ccbe9f4188aaa24952519ab55eb5fdf97988d728b79b334b0aec4a +DIST clap_builder-4.5.19.crate 163596 BLAKE2B f709ef92a6d8a23051648ac1b2f88e9854d1123d1a21c6aed06ec4175b606b7f97ff05139c9b0d7b18492bd272580659bc0e2a0ee572d6bd4d3eb250bd0726fc SHA512 a0422134a231a9693582016a2acd74c944c4c1f12b93a40abb731a0433cae47bc97c9685c39a37d9c335ed7bf4de08a1a1536e291164600625eacb871293abf9 +DIST clap_complete-4.5.32.crate 47181 BLAKE2B b82c809999e5a3da7484f6807b61ce09dfbcf35f0c59c4bd18b45cb159e1f09952a954ed1c5bbfa6a526645a132b1bf72e47f6af622179a2137e4888b2ebb768 SHA512 89f6fd6f11144a97db81073c37bdd7689967304a3e537956d175fc56fd025a662ebe4f750029fc79f8c2e135719b1e9106c361a76025fe641d7391e825be36c9 +DIST clap_derive-4.5.18.crate 30131 BLAKE2B ff962e52d8d8afcc9639365e27753c6c6943fd809ef89d9e555e8be5b2f13efa650bf1f9ae451f4c127c1529a0af1d892c3b02153b46deb912029b45983e01cb SHA512 035bb918bc7e9badd59341560f23e3a8a2e7cf945b6d8183f74052c4edfcbecf07c9ea6fce0ceef0b84c89a99d62b11760af39398897e4ee7dad0170a96cfefa +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST clap_mangen-0.2.23.crate 15368 BLAKE2B 915cc4250a3f377ac0f5ea103d18cfaa7b827b3c686fb485f98619465eac23400df828cb06572c4748af42584c7e78c0a903c4114c8e4cb867e320521d8d8add SHA512 fddcf6e7173eb0ff84fd05218bf70b2bcbc3a212b7cc1dbb8eb85cd59504fe89f8b4078669d4a45308ca5c2d9d87d387c5cd0c48cc9a9376646f13008971e531 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST compact_str-0.8.0.crate 70994 BLAKE2B 27ab4163d71915f9cfc160fdfa4ed049c98b06d0060def8c4bdd29e8ca37716a1c53877f70d1eb38260d44003e833c538b20bb4960f0b28a7becca5c9b29984e SHA512 5a236c501222b577fef7d7190882e20e85cc6deacf9d1f6a1d710893654b53a91c7d47373f0d10e9bfe138dbb2f4e99802deb2a92001bae7e130f6558ed9d1fd +DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 +DIST constant_time_eq-0.3.1.crate 11561 BLAKE2B 9ac06a1b13da2aacfaa20d60e48df4f32f6462e4036fd9ec116c45a9bbe142a18b82cf18d762989876f31b745d98d52ce7e3d32f6c9700a500f16f00649b5699 SHA512 2b6b0d7572c02606b7c3780013fb1d1773b999a0d9934e4b140dd82f94e6c91d2ef82f6daaa1bda94f95bdf6b5997b2f0ea0c8eba8ca7e28a07d1e06b1071b50 +DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST cpufeatures-0.2.14.crate 13165 BLAKE2B 45521d1a4bf2ddc03c6cdb9ceacb900806a03748fd122dd4431f6927d06cbf8608f9830e312b5728dd55b5084476280669129ea80477432fd04fdd68a0e50fb0 SHA512 402c0d6497c65882415841b9eb5953b1dcc1cb35b9fb4512801f3d0e2a056ca95bd32fdf70b6e65a18b048d7df8892c95fef1de975b56b63cfe45460783d5867 +DIST crc-3.2.1.crate 15070 BLAKE2B 9d5f488b57bc232528cfb8d9ef33a88d25d904395dfac8dc10e864dc0d6c89e576585195a20db585fe358859ec50afa998562ad6becf6fd2e505f3969eb36ed8 SHA512 64b7272d8cf55efe9768f9f3218f83302ccb59458a56fe3b7b2de1a53eb5a3b57fbf268647fdba5b230cccdd4058462ba583d76870ba12cb1057ac2787f181db +DIST crc-catalog-2.4.0.crate 10155 BLAKE2B a9c3ef81871d72635addf1ded611fa6e963b9b128dda198eaa3a256512c8759608bae95df95524704aeb38f81e2fb6c2da2e29e306a8ed3dea595e63cdf05638 SHA512 25536456fe71c44fd8ec527299339c1d186f6e12f1f90142de60eabce337d836c2497ddd6307473b57a6cc720cfc8e29b059f378c70b8165bc171420ccb40a29 +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST crossterm-0.28.1.crate 132275 BLAKE2B 30a5bf5b48a4bddbfb53726b675adfdf6d64cc387e027a69d6ab721f5ebe574abed3a862504f0db723a733662fbf0ed13163730a7ab49ac9c7fc05681a3545dd SHA512 0d53e328eb606cabc3e309cc6193b34a14c8746081a7b2c9645c1c03d66dbcda99656d629c0dcfcd43bada7a863df3e83fded6b642b2474035165ed7b16f7931 +DIST crossterm_winapi-0.9.1.crate 16027 BLAKE2B ea63abf751aeab203f326e77260cfbd1de286be26acf714a083ae1262b0cc2a35b5cb6d0bd54f45b33c1942eb22f916141c5870aab34149fdb30faccf4d4642e SHA512 48eee242f477f43b69c00e3a5d4d255de2ce1774f6e73d869c5472b35d85af0b63f3a607097da8ace437b1e52a524ded4106767b83d4ec53c30c2e37ac4b46a7 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST deflate64-0.1.9.crate 15104 BLAKE2B e0b221fb309a56d5172738a09d83e3bc51fc5629db9a4a7977f4c05bd3ed67ddbc246141df8edb65fba7cfee3da2e931f35fc18cc6039b67a9b016bec94c473e SHA512 7b91cb3c9f37e80dcb7fb86ce29e29b2b803e18d6e5b44d0dce907978f439ce9547807b3d19f8172053ca501b71e701e356a889756b84c4c158c3c596c46508d +DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43 +DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da +DIST derive-new-0.5.9.crate 7733 BLAKE2B 3f0a19b794c10e529da5b3618cfeaa4e575ee31597d2ff1f95618eb5163568c6c8836c5a634323dda65f448bf3fba2bbf066df5f815feb07f59ff99d1f46da26 SHA512 9ce0991fe63d8339a88d9552fcd8cc744d8bbc2c6525f60959faf519e1ffa84256c773291df2101912483c0d9accd4fe5f7dbb199dbd36d299ceae8f607e0b30 +DIST derive_arbitrary-1.3.2.crate 10614 BLAKE2B df96dfb9000a794e3ee6e633ab527621d321db8006221b482e944d58d4293c3f87f6808af4784c53c06b28f3078ec9be6860e3496d6af044ad6d71db35310dae SHA512 5ff36cdb5fdbc1120442571b21405bca9dc3e7a0c0d6f0b4996fc71be0553e1a8cbf2626457c55198ecd9c66d18dda66909823e7c6f1f16151b5d05e1c69d201 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 +DIST enum-as-inner-0.6.1.crate 12190 BLAKE2B c2162a838bb717ea7859d5c11ea820aa6bc79210bd6a9e06e4f05bcd17a3c92bdb7d98453d58911f96dac79bdf553730b58d4949d268321aeae324187602ae09 SHA512 e6f80a4a47f5901301debff47f1e88291ee6d29dda2805373ebee62f77c149a2c7f8d1188f8a365f2e11f5497025036aae4a4c3a7f570928961d1d25d6caabd1 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST fastrand-2.1.1.crate 14983 BLAKE2B a4535b1612b103376fe64d71a393f7bfc37668c574d9122ca90a631aeb91cf0895bb030e597b79a80a4a37ea4d514c4c0836332030bb10a60bd971573a6d6ee0 SHA512 9a51185132c1c89fc31af463c664e996f431e607ce96676b8301f28ff11a99661d18025dd460e3332e373af68d20017d96481719746fc3c5de742d08d63aba3e +DIST flate2-1.0.34.crate 109174 BLAKE2B 70fb087904e1e29243facbb9a01f05770581d91d49935290943797cf84c3d2b416a8f78b2c4f9277d86053f1bb79e858ab1d5bac427bacea9771fe1998ea498b SHA512 0526f2c7c061d57f5a39fec9726c547848f6bb36dfc977497c15fd42da6c300bcd332278c31e3acc0a72e897a7161f03deef61e95e072bf3cfe5b0302b5f98f9 +DIST foldhash-0.1.3.crate 13712 BLAKE2B e5913d3aa493d0176af9650354d98870b7e97523ca743a7d9605da3f559463654f391e42438d96fc797397ced449f13ce499c20ed5db7aec772aae97c5f29175 SHA512 844d5b699db632254dfc378d46e34909637118647250e2382cbb88855f6739fb9b5f1b840bb8e250dc8fbd2a97c9155e5d8fd0c5c760b8e02dd0aecd96818a5b +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d +DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 +DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 +DIST futures-executor-0.3.31.crate 17965 BLAKE2B e111467391cc99d1b6a1f5fd3aafdb86922a2d2d9e360112402d68489577527aa35f4f65e6c0dc8f48372927e6d7a6a4a97c7b9525c369cb14e34ca2dafbe64c SHA512 337e70bd3a3bd3075b51e2afe8f157902ebe486696587cc2706b6a5770478ee2ee4216aa9e155e9821ed1d02ba437cdd3abd0c05aa960378ea192e2ed39af564 +DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf +DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 +DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 +DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 +DIST futures-timer-3.0.3.crate 19739 BLAKE2B b7af71c761197056a6a4db03caa30f31c104de0049c09f52b18b80718ad20c95e0e64bc7a3618c29d1c9a5ef0309379044fdd9c1fee8465930d28b2c58927733 SHA512 c50388e38b45dce2a65a8d7ce56bcd9c3544ae677158c4c10c532136e861c16f0f52df5222a14c0f40ad8e4faf93fde8223affa7fd84d24e95aa6994177e7e76 +DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST hashbrown-0.15.0.crate 136460 BLAKE2B a2bc34b9d2eb7ca52dad7bc59e9bbb38ff9f79925495e1645eda7c0587e86e0a3d0675f8c7f159c5a83dfb2832fee9788a7ba6914168b51c26f762e140bd05b2 SHA512 497310e0f8e256e931ae0e752f66eb3811d5d3b9254dacfe2a1227e8532dc23eac8cce7a3f0758fbe0e0fd8f08b7bb18b5f118dbbf4fdf575a31666283583111 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 +DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8 +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 +DIST http_req-0.12.0.crate 78297 BLAKE2B d77a96c93f67b80d583c4942e8b8ad197c9c2003293301087b645774b9724048b5f4fd4e4741c61d94553877719abd634b3fa5e9a2e4e7c6268d3ceccdde9622 SHA512 0cb8986611976088f4cafae79c60e4858d18f50d9e7c939b5addf33709e2ebc404d325962a1cc65b9ca454432fc380bbe11477576f9900d757ebca23a3f0368e +DIST iana-time-zone-0.1.61.crate 27685 BLAKE2B 2091f0bdbfae3f63ff846e27136d9779a2d65f85cef899ea3ab0ff7c987329e6a584cf49c57de566f08e0277bd4981ac3db30ea0cec6a6757ed50d96e2c6583f SHA512 d16c67f435606334042c3a286350db46ff3409f142c0782509b136150b4069aafff0dc5c2ecfb7519dd8d105b9a2e6649df2a7bec33ee3966dc94034c9d5a1c4 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST indexmap-2.6.0.crate 85204 BLAKE2B 420a3cceedab93e5023b476f9b6b93e57057238425d4095de59eb9490c2a088193873e643dcad2f739e34e5798baa9a18939424cac1afc5fc7b93ae496ba188c SHA512 c870348691f5acf97e7bff25c805e60f2e9db9e3ee7b3b939b7be45b6bcfaadee9880e6ad27adbbe2545865193655b5fa9de18487b7a1d030017b2fca48616ca +DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb +DIST insta-1.40.0.crate 88233 BLAKE2B 5ad1ea163be53ae27db497ea56ae9fbdac81b0214f653d4b9c8434cb52b2d03cca5f2105a2beb0b280e73b8b2d9db11d827c6e6e64da20c9593fb5a4a131a919 SHA512 7f629cfc5c31971481253956a0f8e0d5333ec37f2b0b859d1ffe776e6174e9ccb713dc370fbeab5c462b2feffdbcbd9482107ac93fb40a03eff9327e274a185a +DIST instability-0.3.2.crate 9772 BLAKE2B 36cca360c2a42d7a56992ef5c6abc0699145704e48f9a4b9bae8ed56eb92bebe460ab77da76ccaba9220386161c79826cd9490897409519884cb07bb4f732eec SHA512 6e217c68f45e665ec235993d6f3cd309593d19ecac0a6539777ab967a717eb3c817d7a6e5951987e82b3348e1985e823ebd545fbed30fad8899cd6fbab4714c8 +DIST ipconfig-0.3.2.crate 24468 BLAKE2B dbaedc8f4ec23fbbe48a8c79f16fa1575b8374f055237447d12eb009694067a82bd54b503f73f9520e9b731dbf2b7797ee2d6fe2c07ad3946146b32cdc68ad0e SHA512 6029a7d453db77bcf397580fd44c5c777ce6c288c251376cb591174e9fe0aa66b49925764050cc9bcb2d656a8f6c4af0cbcd6685b2ea4616c2d2cf8de9bd67bf +DIST ipnet-2.10.1.crate 28407 BLAKE2B 50c27384d58bf57ad2c3dd0ffe44f1ceb1ae302dd40e451b0c0d69f227050fae17c368c417666c1ec9d087caf775132db7387d5a6c919a0863c78a151912ea64 SHA512 7f55f23b2b0936e3a7dafa2db0447dcf1b63a092df4af8f6fd88a02ecc8f0a290b0d21b18fe777eb573201bf82f56ae475a447650ed0803af676b1e0c0970cb4 +DIST ipnetwork-0.20.0.crate 16556 BLAKE2B f6da9b2283241101279ba510c641a287107b2c27ebfc425af183ca342e4c049915aae2a2107bcd7e8349a47e07ca1dae118194acb71b7b756a36f498a6c67f8b SHA512 a8746f25abb73820cdbaf758f537c726bc9f48afa82417361d54c41bf3b86077e5901135ac5e305e2f669f093690ca518c811c89793d107b3deb139861462978 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST jobserver-0.1.32.crate 27549 BLAKE2B 5f6556788d10af992fafcb578ecfd2c81698eea31b636d3adb7544e12155796082623735c8b10ac4c04d891d1acc307fb4e4ac3f88b2006e181013006f51c8cb SHA512 d4528113dd5a5d4a3765d55599a07e0998c69c7d21a90d2872679755ec4bd7726e9721af9220c36e1179b153ad8a39214a422af63aea15eaafd7cefc828ddff4 +DIST js-sys-0.3.70.crate 53863 BLAKE2B 15e75a94a2b7c77ff18847f98f76a1442b6e5f66960f3375534440c382a255e6b16ba3cb8c5345365d2195f7598564bf856755988f1288eb1b0b964e26446e21 SHA512 5dff8e790447a475b3c0a7068f0bdf1cced5fb8be2d66c92cb6f6c799f9d807f9d3c498e4f42c67e16d83dd4bb3be70472ece20fc42c3a8c8d57615ac8d398d7 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST libc-0.2.159.crate 755366 BLAKE2B 70f46eb6228b4a8958dfbee00cdfa3c7d218f30d66c8591f4ccc9c5d8eda411d83ce9450552384ac4bc29deb2869561a2111dd157c9f228f617baf8f6b537bc4 SHA512 c803939ceea5ad9bdfdd122726c7a5f12ffd8b0cb66cf0bc62c9670e1e5904a504def388c1e043c520f4ece484addf6dac465aebd58578aa6b79995077bbdf9f +DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST lockfree-object-pool-0.1.6.crate 12309 BLAKE2B 47c4b3ade2102e8c5154404d6eb8bab943f0173bab01764192a2ba76e4dc454a7763a7e2c6a3df6a72f2d0971c419bf69af4f81a50636c75cac2dd4c692a7962 SHA512 d4a51c7e92184ded686ebeb06467e26905b12dfda6b4da28f230e73901d7406d611798d823c0e1fb5e2c9efec5ab3eabfcd8aadbfe9e319046b3cd0d31008e90 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST lru-0.12.5.crate 16047 BLAKE2B b5d7d77b4b29973fde0854f55c395edb6ea6e3a309fd33f0c43a6680955bdeb60fab624f02135b637d95e5a0e9da79890a71290c19d797f758c73d16c3d44a27 SHA512 a77230403b1ccb5aa3ed1ed89e7e6af53b3b34d4373e663c1a9789dada12c252e2b5d8b7ac78717c4c4909203c7ea2ce5743ee6cb414aa268c329b889d66a982 +DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1 +DIST lzma-rs-0.3.0.crate 29080 BLAKE2B 521d9f12a155fb1c9224b155400ada0cabe8be62a6b46f3b9d73704928446bfce653df97c73ae0951b6b1cf793a2b95c37180d5794c07a399ac581d75ef87337 SHA512 1c554b5fe33e6cd6ab069efaafc2826d3cb0bbb13dc55c2438345e1dd17de99cd43da4aa3419841ce50d9fdfa5956baff477b37a09470f48908fc1b7382086ad +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST mio-1.0.2.crate 102777 BLAKE2B 9b87abd99269c62e48c6be4fa197d2b12527b672c435d5f1f623f986c60ed391597dbde7d5b73a624a4df0eeaf9c9cedcd56cfd7ce4239757d59e67e9892c59f SHA512 77eae1170a318d4a53550dda3462ae070d25656cda51db4cb2dbcb28210802f9b7e279900e6d6eba68314a0c814c90eb4af7acc561f611535cb364f75ad4e317 +DIST native-tls-0.2.12.crate 29517 BLAKE2B 76f4bb2aa8fefc306a04ff50a62d6617f71c3c34aa83ed35f11714ef2306fd82f76c7e26ab7ce50f8eabed40602ba02589dde2d98b55ea6113b45cc539c84bb6 SHA512 15fbc9d02134d3d55334d2f02fe4f64be50db991d75720b38d802088f06cf5f844cba6b25dfd7beb92f2cd367ba477ec2098e3c7336c4e5a5a7fd39c753fc723 +DIST netstat2-0.9.1.crate 81090 BLAKE2B 2820f5360c37a00df985fd5b644f39cdab0ecf9f90e978388c17974a57218b8f8ffe093890782b0b5c9a78d67fa0878e3f27cd25b3beaee915eff53c7c6d49ac SHA512 0cd850e1cc1ae145c4665c0f00929539233d79941b266dd8b7f27ada7010027b1c463055fa8690aa47269963bbb69aba940b5fb346a6b30186b90049218c4c61 +DIST no-std-net-0.6.0.crate 30191 BLAKE2B fa96050f35a605193295b62e7e3d73ee2de7845f2253621cf8ca0b1fd37881413ef155b5c8198aa84903e191134764b52234a621b8df8545e57574c19520bcee SHA512 30c5ba9f1fde0ad8bf9352ccf561456b654bf82b877869a32aeda8296e3928d3daf186f1cbb55c7ada477873d7fed2e2dfcc40e2bfebf668de63e5d13c5e3ae6 +DIST ntapi-0.4.1.crate 126552 BLAKE2B ef5291a32f5edab4b29648fcc73df30f993558e45ed862a62a4d7e85f963f195f0a74c9e61eecf928c8966799da45a23694d0c6a1ad5f7d9ab3a8bce86d6d2eb SHA512 8e32d45a508d20f0d3537e056f363270120980dc23564713306e36acbc12a6d379eb3857026fecc16ca75080431e06742e3806801d3e0a848a01f64a8dd4f2d7 +DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 +DIST num-derive-0.3.3.crate 14545 BLAKE2B 3af73d35ced61f8e4fa2f2bef695f72a3cf1f1a67c77982d3518d9383331f34c1222dd7d72802cec22baa108ae08a87805a11942132c565ab8439c4983e99871 SHA512 e0f4d06fff26c2d2b140ff5ec1ba655a46c8d8fda484f03a8ad4910e8cf1392f0130d5c0bfbbe3bfb95da1f93e964f73364de6551fddd81e6fc27bfa35c15053 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_threads-0.1.7.crate 7455 BLAKE2B 282514d1c6ebe67ab2c30f91efd5b6c8880baa078265e22d5d7200eca4f96702aad8b537ba772e5d4e680a6e90fa6919fecfcf37a060668b2a618bb01bbabf2a SHA512 60eecfe49c1afca8efa320c5f4d0cd794f6adf8924193682c903307f484ca0a1ddb56102a772232aca040f29651bbe26ddc1c4939e1f030e229d179837e06bda +DIST object-0.36.5.crate 327435 BLAKE2B 1ffbb8ba57024a7273217edb1db76eff03e0689f81ba27b0aef0a622972e7f6acdbdc480384b50d603dee6c38c960fd25125a313264187aa0e429aa839198dd4 SHA512 b85375ab3660a8a0c57833c28c4dc665dc0664857e1eb3cd472a61b9ec8c16c470b16475545c2c311fc23cb3c43755967f93feac12c7bfad013cfed5f879e355 +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 +DIST openssl-0.10.66.crate 273705 BLAKE2B 7892e96dac3b24ad5622833b4061bd82028210f9f26ec9772cebb65905ff6e45da8b21ad1aabfb87bb5610f534018da6bd20c10eaee8c189dd08a7ebfbf12b4b SHA512 2f4dd6e40dd8aff8c04563517fabeecd5ac0d986764649cc9af9bf4ce25757a67f75655eee207703b46fe57661a216ff00144358ffcbc70525447a063fa086c1 +DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c +DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c +DIST openssl-sys-0.9.103.crate 71552 BLAKE2B 4cc1ab93f5a444b4b985c84f6ae90f345da4639e4ff7c5502dc1ae59f842d46e3855057a7c05855f7cd739b5311f330dff361480ef2a0102fe46471506956148 SHA512 61b802f6baf918ec055be90ee47c69fe0184f6d9a1d29c748386192a11d4df115758961ec9b636126a6b42d7d8f7509248c59f7c035905558c4cc35b804a8eaf +DIST packet_builder-bf5a89ba75795f5067bb03fa8de00b833ffe4eae.gh.tar.gz 11776 BLAKE2B 01b21d0d1ac5ab6332b5c1f0513fe3fa991a12f5c609b218071880014d70c505ec493abf675171fe00f47bdfe20694cc15ad257adbe5d17bc3821623cdbf6bff SHA512 4191e237ba634d11b475fd277b0129126dee82a52a4e9e65cb1a040971203c41c88bb5302e26fe978e47ddf8f75460f271f023308693e2e50987171c9f2e47c7 +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST pbkdf2-0.12.2.crate 13906 BLAKE2B 062731ec8623719543e497dbfc23b909c8cc62a521ba927f5cb628290c1b3898a0b6ca7677d733b2eb0c563d7af4018981f4ae533b5b3a23c312ce98119eae6c SHA512 5360a661db8ef11586badfa2623dc409e34f3e2f79254cebcb5fb68bfb20c3be47def7bbb16f7779facb42a92bb789cf0e71947d1c4c6f5b1ecb8d358f6b41ef +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pkg-config-0.3.31.crate 20880 BLAKE2B ab7676e810751f89639b60ae70bdebe1d57edc76319f83077c3680049a701a26e72e8cc485fe77cdc4346fe3571d32c59e7384c8c86fef17e00d7d81df5daf43 SHA512 ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4 +DIST pnet-0.34.0.crate 27284 BLAKE2B a4dba2a939a64d882c2bf58f28349d66de6a11e26dc1dceccbf30b29479301cb0270a0d86d44218978e4db00f7f5764654eee2faf446c90c761e582e15a5bb3a SHA512 712ec4a16ea5c23298e2ade129f0b4d97d460fa924bdb30e66733d5fb01ff68870d5689309639a84740cd2c339a6930519809b3fdca3b3307a562078b847fccc +DIST pnet_base-0.34.0.crate 10239 BLAKE2B 5a433bfc0175be5358799a6a0ceb07a5f845a6f9ea777e0aaa7299fb22a45af671e8f7a5a68cd471a0312d358d4929034584d3fb2de7244c5aeefa742a6b192c SHA512 382bbb54732d028a52cdec63fa6d6d29d51f5a722adb55e77c0c8f06e6e9823b3e532008bca3a5b0b828d35682a84ef42ebb11e3ee75d29c738128c63282e8aa +DIST pnet_datalink-0.34.0.crate 28287 BLAKE2B 91f9536b69efbe49952ac8658d4209edec1c9b8bec079ad8c8d1d9f045aee51842d16d86c496de88ff9fe466b3d496d0e3497c516e5a596a69920401c58511af SHA512 4067bbf6c770d5ff55b482fb854b103477214faf28a79088309ede40e4e9d5843e67ad0a32a25f1bd0456632b35672188c3226d2f5f9bd3008078eccbbcc168a +DIST pnet_macros-0.34.0.crate 29179 BLAKE2B c5bb96bb07f88f6ab8e8404146526f685abf52d49c67c7156adcf25153ab82739e5ce54bc04c3df98255f68a3195ea6cce4c8ed4685b2a970aa446790be906e1 SHA512 e926ff2e1eb841c1be49e71a8a368a0f01a01c6f33ffd94868d09986113db463d89c5fa8f1145aac9a33405a6de2d6f6e6ff55d78d35675bed14e86ff172833d +DIST pnet_macros_support-0.34.0.crate 10735 BLAKE2B 7079824182e0b852930a40fff11694cace9c09e28edcb845b081770a101f6bdb9fe3ec9efdba79986379aeac2a3d1fdf1d036440442025e9dab3352658ed9716 SHA512 97579c9f021cca2b4e12270eacedf9238668302af02402a3c861dd031c2faf81147d2478be116a85d41f4ac247b32866647cc088405d4c04afb5e3c735bde530 +DIST pnet_packet-0.34.0.crate 33979 BLAKE2B f937894d8f4d34b6e4d3b2d65a0ed95e11af2b03ffab93461e149e657152989d668686996abd84fa2453c8da1aed26adfb0486b73e8395109c27ea6e535ec944 SHA512 711189e3d28c139e6b48b479f484dd3180b0b5f7d383db85d1d85f5c2ee3248134fe00d2cdb127ccc17432ee2440bc73f5142ac8ae8e110bab549d71e3c4696e +DIST pnet_sys-0.34.0.crate 11592 BLAKE2B e5f7745dfa760056714b301b4377f762b094cfa6ea58bd5be7194e1a971676ed5b3d692b1094bff3b558854a6a325166670e390b8dd3ce7e738cdf69ec29301e SHA512 7d5fb11232f540a44bd3e5cd569c9b6ff532cf9f440054a3fe9cd8a7cd695f2afa34bc0a6914ad03cec7e51d96fc1e2b7054998c00c8d33b0e5c1fb8fc414625 +DIST pnet_transport-0.34.0.crate 11051 BLAKE2B 9fdc9f442a7d9374e40173a82ac09e1216d36709f131ca44815b8f4c6e923e49569f8e78f1e46d86e925d714bd229dc3ebaddcec740cd4b37e5a3a577219ad18 SHA512 c53c81ab6ca23721b0afff741479dfe6c01536010b1f24807489aa32f4315c28b5a718f43269e69854e606b5e9e2dc635fa3bd02c66113df8240d9eb3732926f +DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST proc-macro-crate-3.2.0.crate 11164 BLAKE2B dba3e1f4e38f427df72794ad891746fbb8c24239cf06b076e75ab6795a7e8c9abf25ae0f40379e07a696827156e7a3780ae242da7e5442cf1224d058f54b83a6 SHA512 41479ec5e414a8b05dffaa0ece21122387d5165a54e60d8ee3502f8a3c0a2ac0247f56996f933d5d77f1efe41a56bffe16874e8c6a34b66100cf047e4b760863 +DIST proc-macro2-1.0.87.crate 49121 BLAKE2B 4a5136e28b5174c1382037d294dfec51cd7211eb7876c06a98600768d071915e76c81a7958a780cb7b843b98d9df4bd4e01d4f280db226d241bf84de348593f2 SHA512 32ce9c8b5bad55cfae537882c3fffc4d56824f6214ea97aede89ad460e3f66956b52af4a268496fc95c2c0eda0baeaaed4b12cd98df2efab24837e23b48b1f0e +DIST procfs-0.17.0.crate 73252 BLAKE2B eb205ec08019da77522599f192dde47d733fd68c08eb68611cf2ece6de93708cc1f2a3e0e941abb48b5d6c2f64da9e2ba158c1dc8f3570ea086b43f3e7ec8030 SHA512 76950134beb05f3df3dd0ba32488e1661a8e90fe5ac59a9227b4a5d2413e4ffc9772c9f79d37fc882fa9ef6b2c2c8c96f00458181926b0a1655500da56183a3e +DIST procfs-core-0.17.0.crate 87533 BLAKE2B 8774dfbc5cd2cfd12c1424de79d6be403c9d3e3a04a0437ec4f4dcbb4535495faf7e6cb30d268bd16c053ec8cd72cfe9a6b2d2e577c6519d15553c9f7e0fa7d5 SHA512 392a6c6702333eca25f4bfbbf10ad0c300d8b1c3f1ffa51151495509b45c0e094e8a8d43a18a9490dbf5910fbffb9fc2669b39b989c8d10bc5aa080377978ef4 +DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST ratatui-0.28.1.crate 513803 BLAKE2B 305535feba853d08a74ac0add20f310959df2ed5cfb6a581fe8f006023f1a9207434e0e54e90cb916a9c2eba7937047cee37919a97d5a27bd489efda44c1eeaa SHA512 48aadc5e4fca22121fb2ea607e2959a27a757b7e327f73af0f5a6c2a325968db5c8b6a13c545b054a13fab014748ee5cfec2dc475f12ab208e7303605de055df +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.7.crate 26249 BLAKE2B 97f848b130403686404dc193415e5060c32585aa3638b825b4775e54d9a058695b86457ae9e3cc0240bcac27ab4c05dd6b488bdc1c797faecd236c6e477fbc3f SHA512 e9f2d254279a4063089436b699ecca766a997a72718d132a9b35f7c8c8fc82c4b5e25fd8f3e6cbd17920fec484140db520c262376ed1c74f847929b7f43fb97e +DIST regex-1.11.0.crate 254059 BLAKE2B 9450e54b522c3f12e4f1d814025c3037f8373b9e1feaf2028756b573335cb7f22400b0925e3ceb0716d72aeb19b02b4bcf70b0b435a0252d0d52a7028d95308c SHA512 16c066664ae87497f9880a52222301fb0d44053ae2d6861ea21dc59cab82bd1ab8ac407f9e77228a21a586ee745b02f9eb10e7b9b30df2f3aad73633270bf73d +DIST regex-automata-0.4.8.crate 617784 BLAKE2B 7535c79f6ddf1b1225e21171921594dcf32fc3afd47519d2067b2047b19070cb7e6fdfd1563b884fec6f91dd568522fc95d85bf095c11f8c02daeac128c45020 SHA512 278e3e2ab230ed5fa7d4837e8ea879fae68ebf35c2da5cc3a67f46b7d593abbcf71e6326a0cf34e38edc0f3f2166ff42a4fcc17a400d9604429aa5b4be075a3f +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST relative-path-1.9.3.crate 22400 BLAKE2B c6bd04b060013de042079a741a864150632c02cdc493ca1cfd746bcc12f6ad903f8f0748ec68261c979d833089c0fc091f7c9da2b2936e8f75dad8d4638a7b10 SHA512 fd5c88d370865870570859a110245e009eba557225e4297783a606227b13b42abf0c7e69a4beb5093a5a9dabac1545afd988f4c831abe912c21ccd8013c30382 +DIST resolv-conf-0.7.0.crate 17352 BLAKE2B 32b565a11d5d752e2cce2ac7b44e483b8a682220c99a9ca34d0a440d87cb5a874c407d474e47757f128bc5d78ea57940452eb099ea6fa433d8f6d1fe881f4302 SHA512 538b97f88fee8b82f15845f9a596e09757e3c2869c4e8708ddff97e19348e9f88d4bcf75e810d2aee47113fa64d550a9fe2deac6fc38d95242ebc20228e9b5f4 +DIST roff-0.2.2.crate 11648 BLAKE2B 38431e1dbfe394274c09e32a9f4c99f7e208130efd1765e9df0c08cf313a0ca81d13198158af6342ec658648cfcfe2e3cae5a5306f8e27e18af7b8163359e896 SHA512 0098d4cc921435cd48fd924d96e8dd27f6443a9b6cba847388ec4be7c2222bffa7a1507862b8c120314d32d08e0cc04e52d44973e25d85536a3a2560fa2a06aa +DIST rstest-0.23.0.crate 45414 BLAKE2B 6e31af0811504c2d644963d14c0ba07cc67506363a7d93c85e1ee06616d14f3382765aef635b68dafac531b58c7a4bc41f3ef82580c065d6f002b7b8670ac988 SHA512 5bedc6c08a003189280efbc0c3fc30d5faac227a93fa34083200601f4d8e2ddd337e36026ef2c1c93bad436c761d9969756cf289b5994dea854f06f2a881ecd7 +DIST rstest_macros-0.23.0.crate 61327 BLAKE2B c522dc07e4544dd1694f02f7ad707b8fdcb315afc735e031abab6c4e90b49a3987856241bc3ec445ccbfdb2cbc6e6568d61724dc2a17ca603e4d6068301f784f SHA512 5b404d73088bcf248e66bd58caee3c25a94fc614975996f52bc58e8be771e0152d093174e9c06440a73937bc682d896a0ec089b2a8cef8b6c8f5c6cd58e639b9 +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 +DIST rustix-0.38.37.crate 371243 BLAKE2B bceaa4861747208f1f2b68f8924c7247648d88deb200e97d8ed17c5cbf9c934488065f0ee7e4406bc96e8709b292ee1fe15beb346bff57b5f05af36174420a0c SHA512 6c0ad1be1fcf1b74f670b2c7599ba68c2ce834c760ff7486674d190ae0d552165b0c2abdc35b13eee8c0333a904c67f5dd1efa742c20fd3735c7ccdf2a439619 +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST schannel-0.1.26.crate 42791 BLAKE2B 7066c414a30de1ffcf5badb24410371765ac3e6ab94f41892a0587495d8920c3b3809a2d7c4e0fb452f03b904062e114a3eb50b619f910a302aabc45af17db03 SHA512 6db6182cc076df820d44aa0bea24f96013e3f1a581bf9416d84e59e33dbd98a3a5d39a7aca9ae162cf109f1501a0edac683a3a95361bf9107780b2a280e82323 +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST security-framework-2.11.1.crate 80188 BLAKE2B 844d36d2b2216cc7055687110d54ea783a7ed9bfe6375fd4dcbea267ec85531e666fe002648110315f42c3364ff5ff5aeba711cf8d1f5358ba65c8393e96f55c SHA512 02786d62fd9dded80bae3942896bc8fea2a90763427f582bf5d9f127ca5682097b59b5dbff2cde373198ba659316ab5906a68d3141ba00c7408b73ebe353fac1 +DIST security-framework-sys-2.12.0.crate 20103 BLAKE2B 4277ccd8d983c2c1a60666dc443637a22b242811a71191b86e177adfe37783e15090d74b7070d6ad49ce13e127c0b12347ddb107eae26bb13b2766463a777cd9 SHA512 676a587b716894339fd65d1e558acca3c5fa1c23bb556fbeeb2b92721d54671b1014420c8893776fc1d21e544b3acf8298f07953ea30c2c118535b0dcb31240b +DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec +DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae +DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 +DIST sha1-0.10.6.crate 13517 BLAKE2B 85ad8dcd237125945f6f9c2d7a48bc9802dfe8398a2bac86ddb96763486092fa18e80a2e69f89cfd6e95599d34d60ced33b26a68cbbe39bf158238a79433584b SHA512 fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signal-hook-0.3.17.crate 50296 BLAKE2B 5469a11485362b4a76f99c06071c69f6cc083bf4cceea93fce0b43385163ac3621b7a3c98d18ea1fb9e1439460ea37f470a29bfde9dea199e60a12b248be5d25 SHA512 045ac6268e504c5561d3884610a48c930dfd936086f793839f42602e92e4a8cef289955776e8eba8a5ca1a91b5f27ccb3724f49b32091f8f06c8bde984d82298 +DIST signal-hook-mio-0.2.4.crate 9314 BLAKE2B 018d406ae25802cb376c1f02241ae8e7018f2f7837127a9db40fd17df1cb3e13299c2c372257b0e82aeac1a77b75c732c7344e50e969180e696bf3f8e4836f62 SHA512 1ce372f4550c046f1420b8f4a29cc4c8e904c08fd089cf973f26aa25b39cc6199db56d2ee3bb34684732b79237648e904389eebbc32b5e108f7d6a2d22b1cf3f +DIST signal-hook-registry-1.4.2.crate 18064 BLAKE2B 7274d4c115678eae2640a709bf9d682ce867c1f6295a0c5f49e492f95dd1c457f20b56207a74221df1fd9d744b24c6260e28f705777e3c7d47b7bdd36f1d57fb SHA512 16362d232b1d301007c069198d7716848aa73d898ef92e050422b36c09001b4334390dc95a6650e5315377fd8960d4336e5ae869b0a305e8525e977b8327c508 +DIST simd-adler32-0.3.7.crate 12086 BLAKE2B 8e0ae18603b344fd8a6573cc3fe1f8594ad542619a6e0d6e8f62e356a3a97409f4de3a215d561b8ed0e063ab431d81b63967a5a0b6561c45537a27ee84eaa362 SHA512 2976bb7fa153854ecd0d68ccdc108bf81d5da374839d53ce9dfb27e80d8db258bb817ea3dac73921e408541d75e2797b6d20fa63c42c1e8a935b6d75dee14bac +DIST similar-2.6.0.crate 51659 BLAKE2B cfd3fd530a1bb99d63a071f34b7db55210edc3a4568b45a39ad67a0f9c1ba7fe7619a5c78f452732f698cc2f4df8e2e90d174c469e103338a70af016c030499d SHA512 cad3a5fafe3ab0c8eb08d87f982d7d93b9e65a714e3a313db92eb4e3b2c539657bdb7df4bb71597300b690248f45013401ab83f949fa8410606648e2ccb87e0e +DIST simplelog-0.12.2.crate 21548 BLAKE2B 34f2221981fb5148e9f2b87e3f0c7d2d81c9bbab65f19a952a14d055aee9a6361308e953a8a21a190a10429354b44fef1205f095aae42ea7c1f7da9257fd9ef6 SHA512 d1ac5ae3df161ad76a71d5c56b9e0d4a36ea2be5889fb1a3e457cbc587ea87e742ab7ad4b315305227296fb63a897c675a5f3cb8c8fee96ef1e387fda2e0d715 +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST socket2-0.5.7.crate 55758 BLAKE2B 148d2e2b6610895ec555b1357b340576984eb76cb3ea719f85af50cc4215b2ea2db739e2a61434c09360a0c1ff8e05911764e18dc4a59451c0aeb0eb60b8403f SHA512 ca37157bfa970cf3cee8b45c7fe64930becf2ffbbc309ea4613be968400279b70edd084d159f65b76fe1130917312d81455023c0d7c1bab7a59c79542aef9dcd +DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268 +DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b +DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433 +DIST sysinfo-0.32.0.crate 183594 BLAKE2B a25da49d5b40bc78ba37960b4aea326e5e0995d3409422331baaa9dc7a439e4a5f97aace5206f53a10c499008ef7030721150a23f89de3217d9fde12a191d647 SHA512 befa9d6c3ad98ad7c5dfb17bc0fafbddf167844d6088286a67f3d58701467819458513f7c9a3637d5dc81e8e390309603a48a805b60bb6ca498be9803d1edadf +DIST tempfile-3.13.0.crate 34910 BLAKE2B 736378935088ccd8b540997c0554444c3752a74c9a4bd82cfcb700a9b22f572d0f2b3e61252064d4a631b57783199cfb42309e518826346a83fb5adb44843c49 SHA512 68701bee80309cd8dfa96c237b2344f26bd03702d2fc2e1a253820c98654c85d802aee1e0fc856f6372159a92ecbf624f78c8146f34a0cf924f5b56284915f85 +DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a +DIST thiserror-1.0.64.crate 21574 BLAKE2B d2c7cd7c1a8850dcd3f188aa1af61d4727c4bfc27a069f0e743adf86b7934e6db85d9ee9af14e78c7391e99f4ac828c00277a1354bfe1a47ddf5964211bb2037 SHA512 cff21ebd9d5d37e548c35dd1dc0e6e885a47363cbd8ce3cc8508e8e9b5f844c168b9f3d9ab12ca8d5910a53a9e09b4ddc75a0c32f983e27727fc104e4ff77618 +DIST thiserror-impl-1.0.64.crate 16073 BLAKE2B 8b0eee3d70f926c2719d084676cd14674dc5cf7c474c72e3e628a3cdda7afadd67a78f76224d2a05f1fe04ac59a178b879e467bac1981fc56c5904073153c88e SHA512 75e55f204a290eb38b2215fcdfa91f9f1cb002b121ffdf56bd5f6d75476614e3ce06360da7d74b870c45f6b107fa9e61f85ce39c0e65e713f8c191d79f96f443 +DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133 +DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 +DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4 +DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST tokio-1.40.0.crate 789848 BLAKE2B cbb0aba8e31ab37afd21ebfb89b5dc961d3d19d38711786ac0860dfd24cfd7ba8c8998788a1e4e5dd8435c498fa754742c183cb8ead085c0f98a06d851a9dea9 SHA512 3026362f2848d9e7fedc9005e8bfa0413efe18c49a07f85b9c7aba619bd9525f6ee8c3c65621e43df3bf37288f5b7a63ea57ecca061e4ae7153834e93108bc10 +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_edit-0.22.22.crate 106387 BLAKE2B c658eef2dc8420266a6928d7ef46340372af2593e4db0d3a67ec88aaf8f601d37d1e9b5bac231a799be8a2ee68a7d98b5f651e9c109d23d8b19b60cf75debddb SHA512 0f98b371f7e27ae7f435a207c0915f942af145cc5dfabfe6d57f2b797efa3e706025401e501fccc6df70c001ce27051381556b8e7824447edd23ea25d047da4d +DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275 +DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0 +DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521 +DIST trust-dns-proto-0.23.2.crate 366401 BLAKE2B 76f0ae5df2aed307373709b73a830e864f06bc65d87b91d852817a16e38fabe385dd09c883426e668b254ecac4b3d1f8079fced691d22e7d8e723b323300c307 SHA512 9f6d4ef2938f72f96ac02ddee1a5bf4a7ebc80f09aa16aad05484ab7b7e73bb9ef0d3729dac0180bf3aed380288a7422d3604c2655e03df22597b899e2fc85db +DIST trust-dns-resolver-0.23.2.crate 89012 BLAKE2B 238c6734b66db68c47a1be5e60f2faf729b07e5acae33adbe5158f9dedb8d3af97a957714f1fff271cac3b815cb480cc4ae02e763fd420d5474ac38f9557d43e SHA512 f7e4620c11ff13ee8ca68d50afcaf6c3085e7b58db366f7c7351d5789a93f146629994641bf1183e0e1f5322d01b958672f73009d5da24766a3b37abd1ab9c33 +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828 +DIST unicode-bidi-0.3.17.crate 58120 BLAKE2B 9d7759554e265136ab9d95dda90bab84763189d3613522a5cb966ad6417ac0ee726d79e296c8821ccca589ef09a999701149c88a9189cabe0ed7d32902040832 SHA512 cf523ff9a2e1face42da035f81bba2476e80d1154f73f3e34cbaf5ce322504e93a520114a54e0a4b2e5d6b930e508ce31b5d8b4f4ed4d39159a8c9a9c7b94d91 +DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 +DIST unicode-normalization-0.1.24.crate 126536 BLAKE2B 1d6d535a1236562918d2625172d38c261854cd8c45cccc81c5d5aefb052db5d0e33981d95f5c87e8760cf77b3651c60b7ec1762421a7a9caa72fe7eac3f562a0 SHA512 f7af59688773319b9d1523955ce9b82e6735bd72358715ba5c056f41956ca050b6a612cae1b39199cc089674b3c71e4016d85d48167277c794c5cef3df881754 +DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946 +DIST unicode-truncate-1.1.0.crate 12529 BLAKE2B 908c794c44d4928bcb73e3cb7f89a5f57ec39bb0a2931db282849d547fee1e228f0ae01d50421b86a5d08c4860c4960d96909f1444e00179ee7309e25e1a7fd6 SHA512 090050af06ec187902102b07b2caa4f5c4d1a046d013aa1fabef9d18fd3679a6dc4dde6b55b9f606dfb057349fb5c10e2c229d3577116c9fcff07f1099fdf4f2 +DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb +DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d +DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.93.crate 43769 BLAKE2B e1abf981a042ebbc5c506975d5c2258942278fc000ac62aafe4221725fc52003c4032dc04a396e8fc8ec6712155e056ea9381a72070ee7c45b348ce470f52c7c SHA512 0c0a63b04b02b57fca78d2c0b885ea752ef1e8e4317c27dc84fd35843c9c396ae20557a1321c03a405b050f21895e6f25e95ddb56f3a3e8cec13928858ae8422 +DIST wasm-bindgen-backend-0.2.93.crate 30344 BLAKE2B d0b9f0cd0e6191dc3f57869023450952f2d73c0432fd4516522df5f63090de021f44f11ce7676fd2f87b31f6b236eb155b22b36eb80c3ccf3880f55ca23d4b0b SHA512 c67dad5fa26f78b233612cb6ebd44f48edd84253e46a2f5094e95da935185cf2a7be14d49247e8b8cd1d916721ed82ea44046080a40b2fe37ad88175a5f96597 +DIST wasm-bindgen-macro-0.2.93.crate 6822 BLAKE2B 3704c01b90ae900032e455a265b614d1057a7ed7b7eef1ebfdce75a7b0f0b97083211db562d1602160cf9e70843a1949be836465398787315d66ccf85fbe0801 SHA512 8b1a690bf4fc344728bae21a11c8ce4641d81b02e215d88a489f8155433d8e579ed367c96bc19a345b561f2ddb42afa44056b71e15dc935a4fe38fd7f937a632 +DIST wasm-bindgen-macro-support-0.2.93.crate 20642 BLAKE2B 3fef9d35c09e97317e8531f11c3cfcafc5cb58126ab7a96374cd5e2e3f8736ef016b4c0b3b16bcdc0bef686e9f07439f263c54dc980649e9963b12d0a6814ddc SHA512 9fe590636e229184a944acbb8472c03db0a48a9094cd9ee204c09cee6c5241194a9757f06b09e7c30ba9db1a2feca616cd1e7dc0e52c7f1c1560c50c9d3adbb8 +DIST wasm-bindgen-shared-0.2.93.crate 7527 BLAKE2B a2df995ba72d83beb3f347909c004d9693ee06cec62de248a1f96b0244c05dd8b62d46356f1b7eb0a29122517bc23270eb4eaf045e6cdbb7122089dc84829d9f SHA512 4e9271a746d3b3ea44bae472b7d9722edbcf262fdec2e03c18788d95b923c71c26f309e316ad3c621d5773311d6b1d5ad468cd7bdff015d162193b6effaf8420 +DIST widestring-1.1.0.crate 85046 BLAKE2B 591f8ba6c3c45721d342fd4668805c19915d500b2b46b8e1e75a485ebc772db187acec791205415e5cbf288ee70299a5813a3185d933443d426eb61d7fc6003f SHA512 a4feb959e19d5238e89b0973f040b26849f896e7e9fd567d0e74fbb4972958a4dd76e74de5ea8d407b74cff28f20f9c80446488da6abdbee38aa87a94d683435 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-0.57.0.crate 9694564 BLAKE2B f506c91f909e82f0ba7653351bbd9b455a4a028cac24ed0cf7bedf07e3670f3b804391ef65fd21a8a66c554c1089c48244ff1e30530bbe40bb94ea240454778b SHA512 df59ddcb41a6a4e4598b06e66856bc7bc01162e0fd1f109fcfd24e1c6c835475241746fb6a9abe458cff55a7c524837ffc48c6a3e0fc0b4f5edb614cc1d1062c +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-core-0.57.0.crate 53695 BLAKE2B b986279aacd34409286ab5761ed38cea9218a2c9b4c5463ba662033b08a167cb65870aae17273e7a0977315ff6a6ad7593011d559fe51d8d8ca157184a1b2542 SHA512 db7dcdfe0f464206b15fbd262539386f67102f2c54c1ff7fe2e6a2e2b28e8d5e4ee0312b787ea55632ecf83260552dc2ba0349933b2d5ada4527b95d196c62fa +DIST windows-implement-0.57.0.crate 10470 BLAKE2B 62bf0f37b73ba8d02dc316015deb7c47c9ef82e0d64cb7d1e624b320cabb37961a8ffe94132b97abafe1d1792bfd58b79d83b0ac3fb14e917f9ed6d9d5f7d362 SHA512 a78d37c8af8b163fb475f02ba667fdc6242bfd7b647061de2156aa94853ad793db112f0fb69549ed171119d654a4ccff0435c73664d5faaf3a32454054e1f12c +DIST windows-interface-0.57.0.crate 10931 BLAKE2B deaaf2adfffff0c0ecaea0f43bfa772871e5f0894ddc6cd8a3bbf211c341bd04db653d4c164bb29a779665972d605439a3a79d5d8072ca78a3a228c1969c4fa9 SHA512 5c5814f81f819e9d220e8b16342f7ffc051cd920b466d8213144298e038b9c92e8ebea8e130c5357e5c6e9b04f1b1db125acedfac2d189658d12183f637248aa +DIST windows-result-0.1.2.crate 10601 BLAKE2B 75db56ada75b59fbc450ea39d73c7ea2ca05239c7a1973bbbcef2445f5fe009e32eb0b1df15ab8b44802cebdb71671ad5e741019beea2d49eb59c37534b63197 SHA512 435649961752a345aa3bf5234f88c87248768ce0ee099f6836e889406941069fbbbb17b4c6cea981fe0aa30bcb8839dba88731fbb023265a14b6232c03fcf7df +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.6.20.crate 163617 BLAKE2B b47ba6cd94ec80a72b51ad09c5cb9de350d2243295d3997732d5d3d9f8d08bd83e3129150fb24992243949120da1bd6091d580db5ff10258fd745afaa944c791 SHA512 3347fdfb5b15ec73a40614ecd0cce60f41d3f2d083f49aaafceeaf5db52d5c677dc3eb39fcc2595999fc9f864d1fde81e180e09dc86a6f6124878e16e86e8bc8 +DIST winreg-0.50.0.crate 29703 BLAKE2B db9a968ef96cc07bc1088831affc4627e09c7ab8170a54fdf70a599c2d6180a8a9ac46b6304b61fdd2fac96e01bb004ebd8051940300c7b52c5b7b7975732d11 SHA512 2f52a9e3ab794665263499c88dfdf06009c6477d180a90ebbe86e786ae7f5003c9dc8b3c26224024e79450f3b94688000458f2ea8b1ae1c3691453c3d4df4787 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zeroize_derive-1.4.2.crate 11141 BLAKE2B a40add656369a3a40d5b5f3397a77a1e9f803d4b8ae5b7d51c9f2ebb332a289b3c1ea528655806a26998e081a1cc9f4b07828664542de8d8d2619faf079d25c5 SHA512 d6966b024ce5e265c93e7056659ccbb97bbf6baa30f759fd96dc4391a6487426637f61f0a2713b6160019d778cf7d8ff1f25bb33d6c4f4585b990baae418b226 +DIST zip-2.2.0.crate 108080 BLAKE2B 34fef56b71628ab10ff5a893051f38c88717b7640e7a07c4fc7979d44b75eaf887edc61804a97a86395e94fe6d1d8cc6794ce673a29189186f2a2be8f38d0cb8 SHA512 12d79f9ab656a3ed49497e29dc2a1b99d8f5e43d9b113aa70041b7ec7fc8f95e96d3944a2d07435dcf05a318228926dcad73d8f2c580790f2d02f5ec96eb4e0f +DIST zopfli-0.8.1.crate 50972 BLAKE2B 27cde48858dc65ec8082d4e0d81e2758f92d3dcc7a1c1f08aa6448e99f2995a865ac3259353b26e787f108c2f88ce3c7610413ea9d3daae6f864900d74565de6 SHA512 799e25c0cc9f0bf2119a7c03225b11ed94e7c3ac83f872a27da8ae15c90206245121c38f5e2b78fece131f5bb428f01fabbfd1b1e18ea456957940042d38f38d +DIST zstd-0.13.2.crate 30251 BLAKE2B 7a13a094791b13b9215cce3aae5f99b86dc76ff271324a67170747f56b97df514762a0c097e6376752d2a5b35f9ef03d76e0c362e34e15ca02fa3644cc933131 SHA512 9cc3584f74da6da6920b74a7125b4eee9133ae00776aff3c77404fb438e05831f654fce46f7ebab442b04f20f84c11ca58f7ebfe7ff506833c38e919ee3f8572 +DIST zstd-safe-7.2.1.crate 21122 BLAKE2B 49df1ae857449393e6a09293b8963702fecb375622a5cda96d51c3ae96b67044aa40dbc043b96a16ea3b66dac47287dc58007a825c025c3d9b7aac31b441ab9a SHA512 95d0a1d4bb307f64de40f4bad5b400e5a592c901e133a88d8344c46ba3dd51465a8284fa2e3aca74f531c21e7bc3eead112f3797abaea7e439e3f407401b947b +DIST zstd-sys-2.0.13+zstd.1.5.6.crate 749090 BLAKE2B b5714217ca68255d0881adcaf282a6309de322c481fe4cf8c10d9b68748008a9ca0287e8323f5a118d3b052b7dfb257182555718599da843e09068a1e8df8c5f SHA512 c1f0176ebd0914879d0060796776c7fe376293ce9bc9f8f07ee3b809932a75aa033881d59a1bc99b6cd9af85b8e225fc09bcfc96013e556d7c11f155b759ecbf diff --git a/net-analyzer/bandwhich/bandwhich-0.23.1.ebuild b/net-analyzer/bandwhich/bandwhich-0.23.1.ebuild new file mode 100644 index 000000000000..01fd1fb61778 --- /dev/null +++ b/net-analyzer/bandwhich/bandwhich-0.23.1.ebuild @@ -0,0 +1,344 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aes@0.8.4 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.89 + arbitrary@1.3.2 + async-trait@0.1.83 + autocfg@1.4.0 + backtrace@0.3.74 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.7.2 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.1.28 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clap-verbosity-flag@2.2.2 + clap@4.5.19 + clap_builder@4.5.19 + clap_complete@4.5.32 + clap_derive@4.5.18 + clap_lex@0.7.2 + clap_mangen@0.2.23 + colorchoice@1.0.2 + compact_str@0.8.0 + console@0.15.8 + constant_time_eq@0.3.1 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.14 + crc-catalog@2.4.0 + crc32fast@1.4.2 + crc@3.2.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + data-encoding@2.6.0 + deflate64@0.1.9 + deranged@0.3.11 + derivative@2.2.0 + derive-new@0.5.9 + derive_arbitrary@1.3.2 + digest@0.10.7 + displaydoc@0.2.5 + either@1.13.0 + encode_unicode@0.3.6 + enum-as-inner@0.6.1 + equivalent@1.0.1 + errno@0.3.9 + fastrand@2.1.1 + flate2@1.0.34 + foldhash@0.1.3 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.31.1 + glob@0.3.1 + hashbrown@0.15.0 + heck@0.5.0 + hermit-abi@0.3.9 + hex@0.4.3 + hmac@0.12.1 + hostname@0.3.1 + http_req@0.12.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + idna@0.4.0 + idna@0.5.0 + indexmap@2.6.0 + inout@0.1.3 + insta@1.40.0 + instability@0.3.2 + ipconfig@0.3.2 + ipnet@2.10.1 + ipnetwork@0.20.0 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + js-sys@0.3.70 + lazy_static@1.5.0 + libc@0.2.159 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + lockfree-object-pool@0.1.6 + log@0.4.22 + lru-cache@0.1.2 + lru@0.12.5 + lzma-rs@0.3.0 + match_cfg@0.1.0 + memchr@2.7.4 + miniz_oxide@0.8.0 + mio@1.0.2 + native-tls@0.2.12 + netstat2@0.9.1 + no-std-net@0.6.0 + ntapi@0.4.1 + num-conv@0.1.0 + num-derive@0.3.3 + num-traits@0.2.19 + num_threads@0.1.7 + object@0.36.5 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pbkdf2@0.12.2 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.31 + pnet@0.34.0 + pnet_base@0.34.0 + pnet_datalink@0.34.0 + pnet_macros@0.34.0 + pnet_macros_support@0.34.0 + pnet_packet@0.34.0 + pnet_sys@0.34.0 + pnet_transport@0.34.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + proc-macro-crate@3.2.0 + proc-macro2@1.0.87 + procfs-core@0.17.0 + procfs@0.17.0 + quick-error@1.2.3 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + ratatui@0.28.1 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.7 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + relative-path@1.9.3 + resolv-conf@0.7.0 + roff@0.2.2 + rstest@0.23.0 + rstest_macros@0.23.0 + rustc-demangle@0.1.24 + rustc_version@0.4.1 + rustix@0.38.37 + rustversion@1.0.17 + ryu@1.0.18 + schannel@0.1.26 + scopeguard@1.2.0 + security-framework-sys@2.12.0 + security-framework@2.11.1 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + sha1@0.10.6 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-adler32@0.3.7 + similar@2.6.0 + simplelog@0.12.2 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.79 + sysinfo@0.32.0 + tempfile@3.13.0 + termcolor@1.4.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio@1.40.0 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + trust-dns-proto@0.23.2 + trust-dns-resolver@0.23.2 + typenum@1.17.0 + unicase@2.7.0 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-segmentation@1.12.0 + unicode-truncate@1.1.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + url@2.5.2 + utf8parse@0.2.2 + vcpkg@0.2.15 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + widestring@1.1.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.57.0 + windows-implement@0.57.0 + windows-interface@0.57.0 + windows-result@0.1.2 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.57.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 + winreg@0.50.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zip@2.2.0 + zopfli@0.8.1 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +# Download the same 'packet-builder' commit that is used in the latest release +declare -A GIT_CRATES=( + [packet-builder]="https://github.com/cyqsimon/packet_builder;bf5a89ba75795f5067bb03fa8de00b833ffe4eae;packet_builder-%commit%" +) + +inherit cargo fcaps shell-completion + +DESCRIPTION="Terminal bandwidth utilization tool" +HOMEPAGE="https://github.com/imsnif/bandwhich" +SRC_URI=" + https://github.com/imsnif/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD CC0-1.0 MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64" + +FILECAPS=( + cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep "usr/bin/${PN}" +) + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +DOCS=( + README.md + CHANGELOG.md +) + +src_prepare() { + mkdir -p "${S}/gen" || die + export BANDWHICH_GEN_DIR="${S}/gen" + + default +} + +src_install() { + cargo_src_install + + dodoc -r "${DOCS[@]}" + doman "${BANDWHICH_GEN_DIR}/${PN}.1" + + newbashcomp "${BANDWHICH_GEN_DIR}/${PN}.bash" "${PN}" + dozshcomp "${BANDWHICH_GEN_DIR}/_${PN}" + dofishcomp "${BANDWHICH_GEN_DIR}/${PN}.fish" +} diff --git a/net-analyzer/bandwhich/metadata.xml b/net-analyzer/bandwhich/metadata.xml new file mode 100644 index 000000000000..de05fc304c89 --- /dev/null +++ b/net-analyzer/bandwhich/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <name>Jonas Frei</name> + <email>freijon@pm.me</email> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/imsnif/bandwhich/issues</bugs-to> + <changelog>https://github.com/imsnif/bandwhich/releases</changelog> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/barnyard/Manifest b/net-analyzer/barnyard/Manifest new file mode 100644 index 000000000000..a539a07a4360 --- /dev/null +++ b/net-analyzer/barnyard/Manifest @@ -0,0 +1,2 @@ +DIST barnyard-0.2.0-patches.tar.xz 13152 BLAKE2B d68aa5298938e50bb1102628cd8ebc0fae55c12fd4094e86306a86aeab3786a096906e4b0612b3dbb0a2de6a8aeba8161fdcfccf3a6915f5492401892eaa8b57 SHA512 9ff4f45e12d12a6b33f22f32be5f258cc9352a53c91d4415c292231ee5e5b03d58ed988011df5d3f13ac0046dd02ff36e0f92b4b0044181f695856118bb9228a +DIST barnyard-0.2.0.tar.gz 161543 BLAKE2B 07f5fa6b2e01e1b421ea772b8ea0c72b6c8f66569caf176a57d3f4fce438c2dd4b2a8a61dddc4faf27c85b15d002205f1cc3627fe88d523fd25d716cc78747e7 SHA512 73424acf2e0c620b2f8f2f407d74812f7740234ce523e37557273998108c131311fffb16cfc2cea0f652d6b21072431081bad35b045f5654e2245786d27568e6 diff --git a/net-analyzer/barnyard/barnyard-0.2.0-r7.ebuild b/net-analyzer/barnyard/barnyard-0.2.0-r7.ebuild new file mode 100644 index 000000000000..c937739a33da --- /dev/null +++ b/net-analyzer/barnyard/barnyard-0.2.0-r7.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools toolchain-funcs + +DESCRIPTION="Fast output system for Snort" +HOMEPAGE="https://sourceforge.net/projects/barnyard" +SRC_URI=" + https://downloads.sourceforge.net/barnyard/barnyard-${PV/_/-}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/${P}-patches.tar.xz +" + +SLOT="0" +LICENSE="QPL-1.0 GPL-2" # GPL-2 for init script +KEYWORDS="~amd64 -sparc ~x86" +IUSE="mysql postgres sguil" + +DEPEND=" + net-libs/libpcap + mysql? ( dev-db/mysql-connector-c:0= ) + postgres? ( dev-db/postgresql:*[server] ) + sguil? ( dev-lang/tcl:0 ) +" +RDEPEND=" + ${DEPEND} + net-analyzer/snort +" + +S=${WORKDIR}/${P/_/-} + +DOCS="AUTHORS README docs/*" +PATCHES=( + "${WORKDIR}"/${P}-64bit.patch + "${WORKDIR}"/${P}-canonical-ar.patch + "${WORKDIR}"/${P}-configure-in.patch +) +SGUIL_PATCHES=( + "${WORKDIR}"/${P}-op_plugbase.c.patch + "${WORKDIR}"/${P}-sguil_files.patch +) + +src_prepare() { + use sguil && PATCHES+=( "${SGUIL_PATCHES[@]}" ) + default + + eautoreconf +} + +src_configure() { + tc-export AR + + econf \ + $(use_enable mysql) \ + $(use_enable postgres) \ + $(use_enable sguil tcl) \ + --sysconfdir=/etc/snort +} + +src_install() { + default + + keepdir /var/log/snort + keepdir /var/log/snort/archive + + insinto /etc/snort + newins etc/barnyard.conf barnyard.conf + newconfd "${FILESDIR}"/barnyard.confd barnyard + newinitd "${FILESDIR}"/barnyard.rc6 barnyard + + if use sguil ; then + sed -i -e "/config hostname:/s%snorthost%$(hostname)%" \ + -e "/config interface/s:fxp0:eth0:" \ + -e "s:output alert_fast:#output alert_fast:" \ + -e "s:output log_dump:#output log_dump:" \ + "${D}/etc/snort/barnyard.conf" || die "sed failed" + + sed -i -e s:/var/log/snort:/var/lib/sguil/$(hostname): \ + -e s:/var/run/barnyard.pid:/var/run/sguil/barnyard.pid: \ + "${D}/etc/conf.d/barnyard" || die "sed failed" + + sed -i -e "/start-stop-daemon --start/s:--exec:-c sguil --exec:" \ + "${D}/etc/init.d/barnyard" || die "sed failed" + fi +} + +pkg_postinst() { + if use sguil ; then + elog + elog "Make sure to edit /etc/snort/barnyard.conf and uncomment the" + elog "sguil section along with supplying the appropriate database" + elog "information." + elog + fi +} diff --git a/net-analyzer/barnyard/files/barnyard.confd b/net-analyzer/barnyard/files/barnyard.confd new file mode 100644 index 000000000000..be0013cb1fe9 --- /dev/null +++ b/net-analyzer/barnyard/files/barnyard.confd @@ -0,0 +1,19 @@ +# Config file for /etc/init.d/barnyard +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE="/var/run/barnyard.pid" +LOG_FILE="snort_unified.log" + +# You probably don't want to change this, but in case you do +LOGDIR="/var/log/snort" +ARCHIVEDIR="$LOGDIR/archive" +GENMSG_FILE="/etc/snort/gen-msg.map" +SIDMSG_FILE="/etc/snort/sid-msg.map" +WALDO_FILE="$LOGDIR/barnyard.waldo" + +# Probably not this either +CONF=/etc/snort/barnyard.conf + +# This pulls in the options above +BARNYARD_OPTS="-D -c $CONF -d $LOGDIR -g $GENMSG_FILE -s $SIDMSG_FILE -w $WALDO_FILE -L $LOGDIR -a $ARCHIVEDIR -f $LOG_FILE -X $PIDFILE" diff --git a/net-analyzer/barnyard/files/barnyard.rc6 b/net-analyzer/barnyard/files/barnyard.rc6 new file mode 100644 index 000000000000..abe42a194a60 --- /dev/null +++ b/net-analyzer/barnyard/files/barnyard.rc6 @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checkconfig() { + if [ ! -e $CONF ] ; then + eerror "You need a configuration file to run barnyard" + eerror "There is an example config in /etc/snort/barnyard.conf.distrib" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting barnyard" + start-stop-daemon --start --quiet --exec /usr/bin/barnyard \ + -- ${BARNYARD_OPTS} >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping barnyard" + start-stop-daemon --stop --quiet --pidfile ${PIDFILE} + eend $? +} diff --git a/net-analyzer/barnyard/metadata.xml b/net-analyzer/barnyard/metadata.xml new file mode 100644 index 000000000000..2022b12d5466 --- /dev/null +++ b/net-analyzer/barnyard/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="sguil">Enable sguil (The Analyst Console for Network Security +Monitoring) support</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/barnyard2/Manifest b/net-analyzer/barnyard2/Manifest new file mode 100644 index 000000000000..f01457705401 --- /dev/null +++ b/net-analyzer/barnyard2/Manifest @@ -0,0 +1 @@ +DIST barnyard2-1.13-github.tar.gz 435017 BLAKE2B 2bfd6b038f4691cd9b40128c48db89cdb0cdefd9c779cbae4f6a86246507849f8faf73e10c986d9a48d45d608b02cbb8486bd731ebe1c78be115fe65c5a97704 SHA512 b9cf42ff3cb066493a3a6e8d095f6af1c59815ebb19725374a75977294620fe825cdbc6650d3600d3f8525860c39d3580aa1d6ef773cd31fbc28d500d6c75246 diff --git a/net-analyzer/barnyard2/barnyard2-1.13.ebuild b/net-analyzer/barnyard2/barnyard2-1.13.ebuild new file mode 100644 index 000000000000..a6c5e14eee5c --- /dev/null +++ b/net-analyzer/barnyard2/barnyard2-1.13.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="Parser for Snort unified/unified2 files" +HOMEPAGE="https://github.com/firnsy/barnyard2 https://firnsy.com/projects" +SRC_URI="https://github.com/firnsy/barnyard2/archive/v2-${PV}.tar.gz -> ${P}-github.tar.gz" +S="${WORKDIR}/${PN}-2-${PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug gre mpls mysql odbc postgres sguil" + +DEPEND=" + net-libs/libpcap + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sguil? ( dev-lang/tcl:* ) +" +RDEPEND=" + ${DEPEND} +" +DOCS="RELEASE.NOTES etc/barnyard2.conf doc/README* schemas/create_*" +PATCHES=( + "${FILESDIR}"/${PN}-1.13-free.patch + "${FILESDIR}"/${PN}-1.13-libdir.patch + "${FILESDIR}"/${PN}-1.13-my_bool.patch + "${FILESDIR}"/${PN}-1.13-odbc.patch + "${FILESDIR}"/${PN}-1.13-Werror.patch + "${FILESDIR}"/${PN}-1.13-pcap-1.9.0.patch +) + +src_prepare() { + default + + sed -i -e "s:^#config interface:config interface:" \ + "etc/barnyard2.conf" || die + sed -i -e "s:^output alert_fast:#output alert_fast:" \ + "etc/barnyard2.conf" || die + + AT_M4DIR="m4" eautoreconf +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable gre) \ + $(use_enable mpls) \ + $(use_with mysql) \ + $(use_with odbc) \ + $(use_with postgres postgresql) \ + $(use_with sguil tcl) \ + --disable-aruba \ + --disable-ipv6 \ + --disable-mysql-ssl-support \ + --disable-prelude \ + --disable-static \ + --without-oracle +} + +src_install() { + default + + newconfd "${FILESDIR}/barnyard2.confd" barnyard2 + newinitd "${FILESDIR}/barnyard2.initd" barnyard2 + + dodir /etc/barnyard2 + keepdir /var/log/barnyard2 + keepdir /var/log/snort/archive + + rm "${D}"/etc/barnyard2.conf || die +} + +pkg_postinst() { + elog "Configuration options can be set in /etc/conf.d/barnyard2." + elog + elog "An example configuration file can be found in /usr/share/doc/${PF}." +} diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-Werror.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-Werror.patch new file mode 100644 index 000000000000..e3b8b9c9ae2a --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-Werror.patch @@ -0,0 +1,17 @@ +--- a/configure.in ++++ b/configure.in +@@ -12,14 +12,6 @@ + NO_OPTIMIZE="no" + ADD_WERROR="no" + +-# Test for -Werror and sed it out for now since some of the auto tests, +-# for example AC_CHECK_LIB, will fail because of +-# warning: conflicting types for built-in function <func> +-if eval "echo $CFLAGS | grep -e -Werror"; then +- CFLAGS=`echo $CFLAGS | sed -e "s/-Werror//g"` +- ADD_WERROR="yes" +-fi +- + # Disable annoying practice of recursively re-running the autotools + AM_MAINTAINER_MODE + AC_PROG_CC_STDC diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-free.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-free.patch new file mode 100644 index 000000000000..216fe480de7a --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-free.patch @@ -0,0 +1,11 @@ +--- a/src/output-plugins/spo_alert_unixsock.c ++++ b/src/output-plugins/spo_alert_unixsock.c +@@ -56,6 +56,8 @@ + #include "spo_alert_unixsock.h" + #include "barnyard2.h" + ++#include <stdlib.h> ++ + #define UNSOCK_FILE "barnyard2_alert" + + diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-libdir.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-libdir.patch new file mode 100644 index 000000000000..5d3c7e37aa38 --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-libdir.patch @@ -0,0 +1,112 @@ +--- a/configure.in ++++ b/configure.in +@@ -570,53 +570,7 @@ + fi + done + +- for i in $mysql_lib_directory; do +- if test -z "$MYSQL_LIB_DIR"; then +- str="$i/libmysqlclient.*" +- for j in `echo $str`; do +- if test -r $j; then +- MYSQL_LIB_DIR=$i +- break 2 +- fi +- done +- fi +- if test -z "$MYSQL_LIB_DIR"; then +- str="$i/lib/libmysqlclient.*" +- for j in `echo $str`; do +- if test -r "$j"; then +- MYSQL_LIB_DIR="$i/lib" +- break 2 +- fi +- done +- fi +- if test -z "$MYSQL_LIB_DIR"; then +- str="$i/mysql/libmysqlclient.*" +- for j in `echo $str`; do +- if test -r "$j"; then +- MYSQL_LIB_DIR="$i/mysql" +- break 2 +- fi +- done +- fi +- if test -z "$MYSQL_LIB_DIR"; then +- str="$i/mysql/lib/libmysqlclient.*" +- for j in `echo $str`; do +- if test -r "$j"; then +- MYSQL_LIB_DIR="$i/mysql/lib" +- break 2 +- fi +- done +- fi +- if test -z "$MYSQL_LIB_DIR"; then +- str="$i/lib/mysql/libmysqlclient.*" +- for j in `echo $str`; do +- if test -r "$j"; then +- MYSQL_LIB_DIR="$i/lib/mysql" +- break 2 +- fi +- done +- fi +- done ++ AC_CHECK_LIB([mysqlclient],[mysql_query],[MYSQL_LIB_DIR="$libdir"]) + + if test -z "$MYSQL_INC_DIR"; then + if test "x$mysql_fail" != "xno"; then +@@ -760,13 +714,7 @@ + fi + else + +- str="$ODBC_DIR/lib/libodbc.*" +- for j in `echo $str`; do +- if test -r "$j"; then +- ODBC_LIB_DIR="$ODBC_DIR/lib" +- ODBC_LIB="odbc" +- fi +- done ++ AC_CHECK_LIB([odbc],[SQLAllocHandle],[ODBC_LIB_DIR="$libdir";ODBC_LIB="odbc"]) + + dnl if test -z "$ODBC_LIB_DIR"; then + dnl str="$ODBC_DIR/lib/libiodbc.*" +@@ -786,7 +734,6 @@ + fi + else + AC_MSG_RESULT(yes) +- LDFLAGS="${LDFLAGS} -L${ODBC_LIB_DIR}" + CPPFLAGS="${CPPFLAGS} -I${ODBC_INC_DIR} -DENABLE_ODBC" + LIBS="${LIBS} -l$ODBC_LIB" + fi +@@ -863,21 +810,7 @@ + fi + + +- if test -z "$POSTGRESQL_DIR"; then +- for dir in $postgresql_directory; do +- for i in "lib" "lib/pgsql"; do +- str="$dir/$i/libpq.*" +- for j in `echo $str`; do +- if test -r $j; then +- POSTGRESQL_LIB_DIR="$dir/$i" +- break 2 +- fi +- done +- done +- done +- else +- POSTGRESQL_LIB_DIR="$POSTGRESQL_DIR/lib" +- fi ++ AC_CHECK_LIB([pq],[PQexec],[POSTGRESQL_LIB_DIR="$libdir"]) + + if test -z "$POSTGRESQL_LIB_DIR"; then + if test "$postgresql_fail" != "no"; then +@@ -892,7 +825,7 @@ + CPPFLAGS="${CPPFLAGS} -I${POSTGRESQL_INC_DIR} -DENABLE_POSTGRESQL" + AC_CHECK_LIB(pq, PQexec,, PQLIB="no") + if test "x$PQLIB" != "xno"; then +- LIBS="${LIBS} -lpq" ++ : + else + echo + echo " ERROR! libpq (postgresql) not found!" diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-my_bool.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-my_bool.patch new file mode 100644 index 000000000000..9cd93220662e --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-my_bool.patch @@ -0,0 +1,11 @@ +--- a/src/output-plugins/spo_database.h ++++ b/src/output-plugins/spo_database.h +@@ -357,7 +357,7 @@ + /* Herited from shared data globals */ + + unsigned long pThreadID; /* Used to store thread information and know if we "reconnected automaticaly" */ +- my_bool mysql_reconnect; /* We will handle it via the api. */ ++ u_int8_t mysql_reconnect; /* We will handle it via the api. */ + #endif /* ENABLE_MYSQL */ + + #ifdef ENABLE_POSTGRESQL diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-odbc.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-odbc.patch new file mode 100644 index 000000000000..a7d77ee914fa --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-odbc.patch @@ -0,0 +1,41 @@ +--- a/src/output-plugins/spo_database_cache.c ++++ b/src/output-plugins/spo_database_cache.c +@@ -1202,10 +1202,10 @@ + + + +-#if (defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL)) ++#if (defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC)) + u_int32_t curr_row = 0; + u_int32_t queryColCount =0; +-#endif /* (defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL)) */ ++#endif /* (defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC)) */ + + + #ifdef ENABLE_ODBC +--- a/src/output-plugins/spo_database.c ++++ b/src/output-plugins/spo_database.c +@@ -3443,9 +3443,9 @@ + #endif + + +-#if defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) ++#if defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC) + int result = 0; +-#endif /* defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) */ ++#endif /* defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC) */ + + + if( (query == NULL) || +@@ -3668,9 +3668,9 @@ + int Select(char * query, DatabaseData * data,u_int32_t *rval) + { + +-#if defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) ++#if defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC) + int result = 0; +-#endif /* defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) */ ++#endif /* defined(ENABLE_MYSQL) || defined(ENABLE_POSTGRESQL) || defined(ENABLE_ODBC) */ + + if( (query == NULL) || + (data == NULL) || diff --git a/net-analyzer/barnyard2/files/barnyard2-1.13-pcap-1.9.0.patch b/net-analyzer/barnyard2/files/barnyard2-1.13-pcap-1.9.0.patch new file mode 100644 index 000000000000..87aec539cae1 --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2-1.13-pcap-1.9.0.patch @@ -0,0 +1,38 @@ +--- a/src/output-plugins/spo_alert_fwsam.c ++++ b/src/output-plugins/spo_alert_fwsam.c +@@ -115,7 +115,7 @@ + #include <sys/filio.h> + #endif + +-typedef int SOCKET; ++typedef int BY2_SOCKET; + + #ifndef INVALID_SOCKET + #define INVALID_SOCKET -1 +@@ -961,7 +961,7 @@ + FWsamPacket sampacket; + FWsamStation *station=NULL; + FWsamList *fwsamlist; +- SOCKET stationsocket; ++ BY2_SOCKET stationsocket; + int i,len,deletestation,stationtry=0; + char *encbuf,*decbuf; + static unsigned long lastbsip[FWSAM_REPET_BLOCKS]; +@@ -1387,7 +1387,7 @@ + void FWsamCheckOut(FWsamStation *station) + { + FWsamPacket sampacket; +- SOCKET stationsocket; ++ BY2_SOCKET stationsocket; + int i,len; + char *encbuf,*decbuf; + +@@ -1538,7 +1538,7 @@ + int i,len,stationok=TRUE; + FWsamPacket sampacket; + char *encbuf,*decbuf; +- SOCKET stationsocket; ++ BY2_SOCKET stationsocket; + + + /* create a socket for the station */ diff --git a/net-analyzer/barnyard2/files/barnyard2.confd b/net-analyzer/barnyard2/files/barnyard2.confd new file mode 100644 index 000000000000..a924456555aa --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2.confd @@ -0,0 +1,36 @@ +# Config file for /etc/init.d/barnyard2 + +# This file only contains variables needed by the init.d script. +# All other configuration options are located in the barnyard2.conf file + +# This should be the first part of the unified/unified2 log file name (without the time stamp) +# Ex. If you log files look like this 'snort.unified2.1239801645' then you would use 'snort.unified2' +SPOOL_FILE="snort.unified2" + +# Location of your unified/unified2 log files +SPOOL_DIR="/var/log/snort" + +# Directory to log to +LOG_DIR="/var/log/barnyard2" + +# This MUST match what you set for "config interface:" in your barnyard2.conf +# If you do not set this correctly then Barnyard2 will not stop when you do a +# "/etc/init.d/barnyard2 stop" +INTERFACE="eth0" + +# You probably don't want to change this, but in case you do +PID_FILE="barnyard2_${INTERFACE}.pid" +PID_PATH="/var/run" + +# The waldo file is located in the SPOOL_DIR to support multipule instances of barnyard2 +WALDO_FILE="${SPOOL_DIR}/barnyard2.waldo" +CONF="/etc/barnyard2/barnyard2.conf" + +# Location of the archive directory if you choose to use it. +# The ARCHIVE_DIR is located in the SPOOL_DIR to support multipule instances of barnyard2 +#ARCHIVE_DIR="${SPOOL_DIR}/archive" + +# This pulls in the options above +BARNYARD_OPTS="-D -c ${CONF} -d ${SPOOL_DIR} -w ${WALDO_FILE} -f ${SPOOL_FILE} -l ${LOG_DIR}" +# Or with an archive directory +#BARNYARD_OPTS="-D -c ${CONF} -d ${SPOOL_DIR} -w ${WALDO_FILE} -f ${SPOOL_FILE} -l ${LOG_DIR} -a ${ARCHIVE_DIR}" diff --git a/net-analyzer/barnyard2/files/barnyard2.initd b/net-analyzer/barnyard2/files/barnyard2.initd new file mode 100644 index 000000000000..d15308846f12 --- /dev/null +++ b/net-analyzer/barnyard2/files/barnyard2.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checkconfig() { + if [ ! -e ${CONF} ] ; then + eerror "You need a configuration file to run barnyard2" + eerror "There is an example config in /etc/snort/barnyard2.conf.distrib" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting barnyard2" + start-stop-daemon --start --quiet --exec /usr/bin/barnyard2 \ + -- --pid-path ${PID_PATH} --nolock-pidfile ${BARNYARD_OPTS} >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping barnyard2" + start-stop-daemon --stop --quiet --pidfile ${PID_PATH}/${PID_FILE} + eend $? +} diff --git a/net-analyzer/barnyard2/metadata.xml b/net-analyzer/barnyard2/metadata.xml new file mode 100644 index 000000000000..9ea524e35d42 --- /dev/null +++ b/net-analyzer/barnyard2/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Barnyard2 is a fork of the original barnyard project (which is no longer under development). + Barnyard2 is an open source interpreter for Snort unified2 binary output files. Its primary + use is allowing Snort to write to disk in an efficient manner and leaving the task of + parsing binary data into various formats to a separate process that will not cause Snort to + miss network traffic. Barnyard2 is under active development and continues to adapt based on + user feedback. + </longdescription> + <upstream> + <maintainer> + <email>dev@securixlive.com</email> + <name>Securixlive</name> + </maintainer> + <doc>http://www.securixlive.com/barnyard2/docs/index.php</doc> + <bugs-to>mailto:dev@securixlive.com</bugs-to> + </upstream> + <use> + <flag name="gre">Enable GRE support</flag> + <flag name="mpls">Enable support for mpls networks</flag> + <flag name="sguil">Enable sguil (The Analyst Console for Network Security Monitoring) support</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bmon/Manifest b/net-analyzer/bmon/Manifest new file mode 100644 index 000000000000..68bde58202e1 --- /dev/null +++ b/net-analyzer/bmon/Manifest @@ -0,0 +1 @@ +DIST bmon-4.0.tar.gz 61843 BLAKE2B d376cc6ca9f64c71cd7f8aa281e36e0f8717939c2ada3d9ed6d1231e1f6bc489146fa5f88a327abd6bc63803d2ed21eafff2888427bfd11d51156380ed6d6d1c SHA512 2a5b527a78cc1084c3b96d8d621b002ee86d377776d7e25f711dc2869e59bcd6277cc5f103549fe0b635b1368228a66941d5069fd1240cff678b308d7e17218d diff --git a/net-analyzer/bmon/bmon-4.0-r1.ebuild b/net-analyzer/bmon/bmon-4.0-r1.ebuild new file mode 100644 index 000000000000..d493ffde31f9 --- /dev/null +++ b/net-analyzer/bmon/bmon-4.0-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info toolchain-funcs + +DESCRIPTION="Interface bandwidth monitor" +HOMEPAGE="https://github.com/tgraf/bmon/" +SRC_URI="https://codeload.github.com/tgraf/${PN}/tar.gz/v${PV} -> ${P}.tar.gz" + +LICENSE="BSD-2 MIT" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86" + +RDEPEND=" + >=sys-libs/ncurses-5.3-r2:0= + dev-libs/confuse:= + dev-libs/libnl:3 +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( ChangeLog NEWS README.md ) + +CONFIG_CHECK="~NET_SCHED" +ERROR_NET_SCHED=" + CONFIG_NET_SCHED is not set when it should be. + Run ${PN} -i proc to use the deprecated proc interface instead. +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.6-docdir-examples.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf CURSES_LIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} diff --git a/net-analyzer/bmon/bmon-9999.ebuild b/net-analyzer/bmon/bmon-9999.ebuild new file mode 100644 index 000000000000..8fb8ce7ac06f --- /dev/null +++ b/net-analyzer/bmon/bmon-9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools git-r3 linux-info toolchain-funcs + +DESCRIPTION="Interface bandwidth monitor" +HOMEPAGE="https://github.com/tgraf/bmon/" +EGIT_REPO_URI="https://github.com/tgraf/bmon/" + +LICENSE="BSD-2 MIT" +SLOT="0" + +RDEPEND=" + >=sys-libs/ncurses-5.3-r2:0= + dev-libs/confuse:= + dev-libs/libnl:3 +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( NEWS README.md ) + +CONFIG_CHECK="~NET_SCHED" +ERROR_NET_SCHED=" + CONFIG_NET_SCHED is not set when it should be. + Run ${PN} -i proc to use the deprecated proc interface instead. +" +PATCHES=( + "${FILESDIR}"/${PN}-3.6-docdir-examples.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf CURSES_LIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} diff --git a/net-analyzer/bmon/files/bmon-3.6-docdir-examples.patch b/net-analyzer/bmon/files/bmon-3.6-docdir-examples.patch new file mode 100644 index 000000000000..bb7d969cedde --- /dev/null +++ b/net-analyzer/bmon/files/bmon-3.6-docdir-examples.patch @@ -0,0 +1,10 @@ +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,6 +1,6 @@ + # -*- Makefile -*- + +-exampledir = $(datarootdir)/doc/@PACKAGE@/examples ++exampledir = $(docdir)/examples + example_DATA = bmon.conf + + EXTRA_DIST = $(example_DATA) diff --git a/net-analyzer/bmon/metadata.xml b/net-analyzer/bmon/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/bmon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/boreas/Manifest b/net-analyzer/boreas/Manifest new file mode 100644 index 000000000000..54b0c2bce386 --- /dev/null +++ b/net-analyzer/boreas/Manifest @@ -0,0 +1 @@ +DIST boreas-22.5.0.tar.gz 128205 BLAKE2B eea2c1bc488c4d54cd678d081846b76789de225daffcd4157ff7b33e6286fcbf7cf6e7961cbfa53f8d849f50da2c12e0c97e44439861c4cb7d79eb8f047a36bc SHA512 46b4982b20e02826296da56415fac0ddfa2703e9154c46352a6140eedf62c57eb14a4d7423c6f2d6e38eef764b36e975aa03cd38987a1664978092dcaddbe7fc diff --git a/net-analyzer/boreas/boreas-22.5.0.ebuild b/net-analyzer/boreas/boreas-22.5.0.ebuild new file mode 100644 index 000000000000..c858a0571942 --- /dev/null +++ b/net-analyzer/boreas/boreas-22.5.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Greenbone Scanner for alive hosts" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/boreas" +SRC_URI="https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/glib-2.42:2 + >=net-analyzer/gvm-libs-22.4.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +BDEPEND=" + doc? ( + app-text/doxygen + app-text/xmltoman + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Fix cmake error https://cmake.org/cmake/help/latest/policy/CMP0004.html + # PR upstream: https://github.com/greenbone/boreas/pull/66 + "${FILESDIR}"/boreas-22.5.0-fix-leading-withespaces-ldflags-libpcap.patch +) + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DBINDIR=${EPREFIX}/usr/bin" + ) + cmake_src_configure +} diff --git a/net-analyzer/boreas/files/boreas-22.5.0-fix-leading-withespaces-ldflags-libpcap.patch b/net-analyzer/boreas/files/boreas-22.5.0-fix-leading-withespaces-ldflags-libpcap.patch new file mode 100644 index 000000000000..9196531765fe --- /dev/null +++ b/net-analyzer/boreas/files/boreas-22.5.0-fix-leading-withespaces-ldflags-libpcap.patch @@ -0,0 +1,14 @@ +Fixes leading withespaces in LDFLAGS for libpcap +From: Giuseppe Foti <foti.giuseppe@gmail.com> +Upstream PR: https://github.com/greenbone/boreas/pull/66 + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -32,6 +32,7 @@ if (PCAP_CONFIG) + execute_process (COMMAND pcap-config --libs + OUTPUT_VARIABLE PCAP_LDFLAGS + OUTPUT_STRIP_TRAILING_WHITESPACE) ++ string(STRIP ${PCAP_LDFLAGS} PCAP_LDFLAGS) + execute_process (COMMAND pcap-config --cflags + OUTPUT_VARIABLE PCAP_CFLAGS + OUTPUT_STRIP_TRAILING_WHITESPACE) diff --git a/net-analyzer/boreas/metadata.xml b/net-analyzer/boreas/metadata.xml new file mode 100644 index 000000000000..173ecf4129b7 --- /dev/null +++ b/net-analyzer/boreas/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + Boreas is a command line tool to scan for alive hosts. It supports IPv4 and IPv6 address ranges and allows to exclude certain addresses from a range. + The alive ping tests support ICMP, TCP-ACK, TCP-SYN and ARP and any combination. + For TCP ping an individual port list can be applied. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/braa/Manifest b/net-analyzer/braa/Manifest new file mode 100644 index 000000000000..6a1880f582fb --- /dev/null +++ b/net-analyzer/braa/Manifest @@ -0,0 +1 @@ +DIST braa-0.82.tar.gz 39927 BLAKE2B 411a106118b2b3e135542ca507ccd07e910f19b256a12336119c3a088eca16b9a8c715840b633461523fd05881a522b083029f3c498588f7c4c38f518165840d SHA512 8c88d288287a12c19c8d49606c8d2b70531b7f2be1aa3c4ccc6b01739aead751c03c56dc3f1a346b3dd20730a8bd0d30e33167a5f7c676f629348195762e23d4 diff --git a/net-analyzer/braa/braa-0.82-r1.ebuild b/net-analyzer/braa/braa-0.82-r1.ebuild new file mode 100644 index 000000000000..0e0c7cd4ced5 --- /dev/null +++ b/net-analyzer/braa/braa-0.82-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit toolchain-funcs + +DESCRIPTION="Quick and dirty mass SNMP scanner" +HOMEPAGE="http://s-tech.elsat.net.pl/braa/" +SRC_URI="http://s-tech.elsat.net.pl/braa/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" + +PATCHES=( + "${FILESDIR}"/${PN}-0.8-gentoo.diff +) + +src_prepare() { + default + sed -i braa.c -e 's|0.81|0.82|g' || die + tc-export CC +} + +src_install() { + dobin braa + dodoc README +} diff --git a/net-analyzer/braa/files/braa-0.8-gentoo.diff b/net-analyzer/braa/files/braa-0.8-gentoo.diff new file mode 100644 index 000000000000..3167269f4a68 --- /dev/null +++ b/net-analyzer/braa/files/braa-0.8-gentoo.diff @@ -0,0 +1,24 @@ +--- a/Makefile ++++ b/Makefile +@@ -4,8 +4,6 @@ + ################################################################### + + # Linux, FreeBSD, OpenBSD +-CFLAGS = +-LDFLAGS = + + # Solaris / SPARC + # CFLAGS = -DSOLARIS_SPARC +@@ -24,9 +22,8 @@ + LIBS = + + all: ${OBJECTS} +- cc $(OBJECTS) -o $(OUT) $(LDFLAGS) $(LIBS) +- strip $(OUT) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) -o $(OUT) $(LIBS) + + clean: + rm -rf $(OBJECTS) $(OUT) +- +\ No newline at end of file ++ diff --git a/net-analyzer/braa/metadata.xml b/net-analyzer/braa/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/braa/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bwbar/Manifest b/net-analyzer/bwbar/Manifest new file mode 100644 index 000000000000..95ac640217d9 --- /dev/null +++ b/net-analyzer/bwbar/Manifest @@ -0,0 +1 @@ +DIST bwbar-1.2.3.tar.bz2 30202 BLAKE2B b7c0ed980e5af14e5e2fa2a3fafb8b7f75d96a0bac8b3effed2a7a54098bb00741b07f2ba32e6cb81dc4accd42a0f370c6bd95a5eec1301b1090e96d2e2ce80f SHA512 cb534f50007db6e39aa134d0d9a08ec6935c8a393f8dd5ab80f3c6ef94048821e065cd6c1be80657a2d6338fd16a73dcc0f89f5b15aba9e3bd38f0737a6d43c4 diff --git a/net-analyzer/bwbar/bwbar-1.2.3.ebuild b/net-analyzer/bwbar/bwbar-1.2.3.ebuild new file mode 100644 index 000000000000..6837e519f3ca --- /dev/null +++ b/net-analyzer/bwbar/bwbar-1.2.3.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="The kernel.org \"Current bandwidth utilization\" bar" +HOMEPAGE="https://www.kernel.org/pub/software/web/bwbar/" +SRC_URI="https://www.kernel.org/pub/software/web/bwbar/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND=">=media-libs/libpng-1.2" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-libpng15.patch +) + +src_install() { + dobin bwbar + dodoc README +} diff --git a/net-analyzer/bwbar/files/bwbar-1.2.3-libpng15.patch b/net-analyzer/bwbar/files/bwbar-1.2.3-libpng15.patch new file mode 100644 index 000000000000..4d1bd67c6d34 --- /dev/null +++ b/net-analyzer/bwbar/files/bwbar-1.2.3-libpng15.patch @@ -0,0 +1,19 @@ +--- a/bwbar.c ++++ b/bwbar.c +@@ -30,6 +30,7 @@ + #include <alloca.h> + #include <getopt.h> + #include <png.h> ++#include <zlib.h> + + void skipline(FILE *f) + { +@@ -79,7 +80,7 @@ + if ( !info_ptr ) + goto barf; + +- if ( setjmp(png_ptr->jmpbuf) ) { ++ if ( setjmp(png_jmpbuf(png_ptr)) ) { + status = 1; + goto barf; /* libpng abort */ + } diff --git a/net-analyzer/bwbar/metadata.xml b/net-analyzer/bwbar/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/bwbar/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bwm-ng/Manifest b/net-analyzer/bwm-ng/Manifest new file mode 100644 index 000000000000..76957d9f40c0 --- /dev/null +++ b/net-analyzer/bwm-ng/Manifest @@ -0,0 +1 @@ +DIST bwm-ng-0.6.3.tar.gz 70094 BLAKE2B bfc5007470a2e4d7f50dc43dc33898f5bcb34a0eaeeb0f53ed74029299ac2b732d343eaf725144a05b778ad8a204c5d546f0ea0b6aaf997995e2e7a6bc3c6cf6 SHA512 85ce29e6ffa9643b4e7c1d731f4e928ddca8cfdc71c86b65ec4e55058b951eb8da9ab80139145300518223589d5fece5bdc11ede91a1ea394d569993ccdb0ab8 diff --git a/net-analyzer/bwm-ng/bwm-ng-0.6.3.ebuild b/net-analyzer/bwm-ng/bwm-ng-0.6.3.ebuild new file mode 100644 index 000000000000..0e94224d5bbf --- /dev/null +++ b/net-analyzer/bwm-ng/bwm-ng-0.6.3.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Bandwidth Monitor NG is a small and simple console-based bandwidth monitor" +HOMEPAGE="http://www.gropp.org/" +SRC_URI="https://github.com/vgropp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="amd64 ~arm ppc x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="+csv +html" + +RDEPEND=" + >=sys-apps/net-tools-1.60-r1 + sys-libs/ncurses:0= +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.6.2-tinfo.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + $(use_enable csv) \ + $(use_enable html) \ + --with-ncurses \ + --with-procnetdev +} diff --git a/net-analyzer/bwm-ng/files/bwm-ng-0.6.2-tinfo.patch b/net-analyzer/bwm-ng/files/bwm-ng-0.6.2-tinfo.patch new file mode 100644 index 000000000000..a51f9c0596aa --- /dev/null +++ b/net-analyzer/bwm-ng/files/bwm-ng-0.6.2-tinfo.patch @@ -0,0 +1,10 @@ +--- a/configure.in ++++ b/configure.in +@@ -52,6 +52,7 @@ + CPPFLAGS="$CPPFLAGS -I$withval" + fi + AC_CHECK_LIB([ncurses],[newterm,timeout],,[ CPPFLAGS=$OLD_CPPFLAGS ]) ++ AC_SEARCH_LIBS([wtimeout],[tinfo]) + CURSES_CHECKED="1" + else + CURSES_CHECKED="1" diff --git a/net-analyzer/bwm-ng/metadata.xml b/net-analyzer/bwm-ng/metadata.xml new file mode 100644 index 000000000000..ce21c91274cc --- /dev/null +++ b/net-analyzer/bwm-ng/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="csv">Enable csv output</flag> + <flag name="html">Enable html output</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:bwm-ng_project:bwm-ng</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bwmon/Manifest b/net-analyzer/bwmon/Manifest new file mode 100644 index 000000000000..62c508bb7e3c --- /dev/null +++ b/net-analyzer/bwmon/Manifest @@ -0,0 +1 @@ +DIST bwmon-1.3.tar.gz 5668 BLAKE2B b73695ad56516e6134c6b6c6012bcfdf71ad51af99fadabf3af95cc7af745b8cd7ffbfd8c9ced6a13e9d05abb9d2ceebee3e0d7e3c54694ecbcd467be75d8b60 SHA512 6552ba03f0cfe7d2adebe7ae49379cc109b4f8da56dafec1264ac39c114809c7cde161f6321a67516b22b04abbad5d1ab3b4efb313479ad131fb20638c6871e8 diff --git a/net-analyzer/bwmon/bwmon-1.3-r2.ebuild b/net-analyzer/bwmon/bwmon-1.3-r2.ebuild new file mode 100644 index 000000000000..83647011ae73 --- /dev/null +++ b/net-analyzer/bwmon/bwmon-1.3-r2.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Simple ncurses bandwidth monitor" +HOMEPAGE="https://bwmon.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +BDEPEND="virtual/pkgconfig" +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND}" + +SLOT="0" +LICENSE="GPL-2 public-domain" +KEYWORDS="amd64 ~hppa ppc ~sparc x86" + +PATCHES=( + "${FILESDIR}"/${P}-build.patch + "${FILESDIR}"/${P}-typo-fix.patch + "${FILESDIR}"/${P}-overflow.patch + "${FILESDIR}"/${P}-tinfo.patch +) + +src_compile() { + emake -C src CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + dobin ${PN} + dodoc README +} diff --git a/net-analyzer/bwmon/files/bwmon-1.3-build.patch b/net-analyzer/bwmon/files/bwmon-1.3-build.patch new file mode 100644 index 000000000000..6d4eadf15551 --- /dev/null +++ b/net-analyzer/bwmon/files/bwmon-1.3-build.patch @@ -0,0 +1,22 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -10,8 +10,8 @@ CC = gcc + RM = /bin/rm + INSTALL = install + +-CFLAGS = -I../include -Wall -D__THREADS +-LDFLAGS = -lpthread -lncurses ++CFLAGS += -I../include -Wall -D__THREADS ++LIBS = -lpthread -lncurses + + SRC = bwmon.c + OBJS = $(SRC:.c=.o) +@@ -19,7 +19,7 @@ OBJS = $(SRC:.c=.o) + all: bwmon + + bwmon: $(OBJS) +- $(CC) $(LDFLAGS) -o ../$@ $(OBJS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o ../$@ $(OBJS) $(LIBS) + + clean: + @for i in $(OBJS) *~ core bwmon; do \ diff --git a/net-analyzer/bwmon/files/bwmon-1.3-overflow.patch b/net-analyzer/bwmon/files/bwmon-1.3-overflow.patch new file mode 100644 index 000000000000..052d1d766351 --- /dev/null +++ b/net-analyzer/bwmon/files/bwmon-1.3-overflow.patch @@ -0,0 +1,20 @@ +--- a/src/bwmon.c ++++ b/src/bwmon.c +@@ -408,7 +408,7 @@ bool_t + print_uptime(float * uptime) + { + unsigned int tmp = 0, hour = 0, min = 0, sec = 0; +- char hostname[30]; ++ char hostname[50]; + + tmp = (uint)(*uptime); + sec = tmp % 60; +@@ -418,7 +418,7 @@ print_uptime(float * uptime) + hour = tmp % 24; + tmp = (tmp - hour) / 24; + +- if (gethostname(hostname, strlen(hostname)) != 0) ++ if (gethostname(hostname, sizeof(hostname)) != 0) + strcpy(hostname, "System"); + + printw("\n%s uptime: %u day%c %u hour%c %u minutes and %u seconds\n", diff --git a/net-analyzer/bwmon/files/bwmon-1.3-tinfo.patch b/net-analyzer/bwmon/files/bwmon-1.3-tinfo.patch new file mode 100644 index 000000000000..df0bb06cb968 --- /dev/null +++ b/net-analyzer/bwmon/files/bwmon-1.3-tinfo.patch @@ -0,0 +1,11 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -11,7 +11,7 @@ + INSTALL = install + + CFLAGS += -I../include -Wall -D__THREADS +-LIBS = -lpthread -lncurses ++LIBS = -lpthread $(shell ${PKG_CONFIG} --libs ncurses) + + SRC = bwmon.c + OBJS = $(SRC:.c=.o) diff --git a/net-analyzer/bwmon/files/bwmon-1.3-typo-fix.patch b/net-analyzer/bwmon/files/bwmon-1.3-typo-fix.patch new file mode 100644 index 000000000000..36f6af8e5ee6 --- /dev/null +++ b/net-analyzer/bwmon/files/bwmon-1.3-typo-fix.patch @@ -0,0 +1,11 @@ +--- a/src/bwmon.c ++++ b/src/bwmon.c +@@ -36,7 +36,7 @@ + "by Kimmo Nupponen (kimmoon@users.sourceforge.net)\n" + "$Date: 2014/07/10 19:51:24 $\n\n" + "usage: %s [-b] [-h] [-a] [-m] [-u seconds]\n" +- "\t-a Print bandwidth utiliasation in Kbytes rather than Kbits. The default\n" ++ "\t-b Print bandwidth utilisation in KBytes rather than Kbits. The default\n" + "\t is to use Kbits\n" + "\t-a Print also average bandwidth since last boot per interface\n" + "\t-m Print maximum bandwidth since launch of this utility\n" diff --git a/net-analyzer/bwmon/metadata.xml b/net-analyzer/bwmon/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/bwmon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/bwping/Manifest b/net-analyzer/bwping/Manifest new file mode 100644 index 000000000000..74c7dde478b9 --- /dev/null +++ b/net-analyzer/bwping/Manifest @@ -0,0 +1,2 @@ +DIST bwping-2.5.tar.gz 113076 BLAKE2B c2a01b1d1d9fb83c2f0e40e2b1967d0e1e5a939d912372637558aa84cea0bca08f080cc8d980906d346ca44b39b7f37b54b0d6e18f834928bd59ddd056af43ac SHA512 2c271215476c8f1e0758aaae0e1730c526a326eeb3c7ffac3d8fac5783dbbe84d97fbb6732bfa7199ea8e4caf81a8dc9bd54ee36b63ece46dd2286880c734371 +DIST bwping-2.6.tar.gz 113405 BLAKE2B aa37d0a2351cbfa72605a809d1f2cf01be0347487e87a4f337ecadc8c021f7b2414e31424789ee7a490beb2445bf3d8447f9ca20ce00672d4a352d1b17d203ff SHA512 df880a6a26fc00a18cd64b44de9f6b8fc6ff5aab472b6af2fc80dfd642347238987cad9da963cb2a719d36571ce9951feb579647c4e8a4b69d6902c994ac36d3 diff --git a/net-analyzer/bwping/bwping-2.5.ebuild b/net-analyzer/bwping/bwping-2.5.ebuild new file mode 100644 index 000000000000..bb17cbaa8b50 --- /dev/null +++ b/net-analyzer/bwping/bwping-2.5.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A tool to measure bandwidth and RTT between two hosts using ICMP" +HOMEPAGE="https://bwping.sourceforge.io/" +SRC_URI="https://github.com/oleg-derevenetz/bwping/releases/download/RELEASE_${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~sparc x86" + +src_test() { + [[ ${UID} = 0 ]] && default +} diff --git a/net-analyzer/bwping/bwping-2.6.ebuild b/net-analyzer/bwping/bwping-2.6.ebuild new file mode 100644 index 000000000000..2830202daa23 --- /dev/null +++ b/net-analyzer/bwping/bwping-2.6.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A tool to measure bandwidth and RTT between two hosts using ICMP" +HOMEPAGE="https://bwping.sourceforge.io/" +SRC_URI="https://github.com/oleg-derevenetz/bwping/releases/download/RELEASE_${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~sparc x86" + +src_test() { + [[ ${UID} = 0 ]] && default +} diff --git a/net-analyzer/bwping/metadata.xml b/net-analyzer/bwping/metadata.xml new file mode 100644 index 000000000000..9c7056402b14 --- /dev/null +++ b/net-analyzer/bwping/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>oleg.derevenetz@gmail.com</email> + <name>Oleg Derevenetz</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <maintainer> + <email>oleg.derevenetz@gmail.com</email> + <name>Oleg Derevenetz</name> + </maintainer> + </upstream> + <longdescription> + A tool to measure bandwidth and response times between two hosts using + Internet Control Message Protocol (ICMP) echo request/echo reply mechanism. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cacti-spine/Manifest b/net-analyzer/cacti-spine/Manifest new file mode 100644 index 000000000000..8686e9b07669 --- /dev/null +++ b/net-analyzer/cacti-spine/Manifest @@ -0,0 +1 @@ +DIST cacti-spine-1.2.20.tar.gz 115258 BLAKE2B 78a9ed8a9e7e69e98bfa9971134dd6f34f540a93b0b1a2aababb66781f3c9787712d57d86b81d7f409487c4cc4447d4f84bd7292890b7eb70ec4137d97248793 SHA512 d7e129f7b42542d7ecc78d55cebc6d9ce481834342d3f3da1fce5538d8e42bc194a825795053d5e3a065b54574e2a3b9413725f1bc0562e55f1db213f9a94d0c diff --git a/net-analyzer/cacti-spine/cacti-spine-1.2.20.ebuild b/net-analyzer/cacti-spine/cacti-spine-1.2.20.ebuild new file mode 100644 index 000000000000..e41c722458fd --- /dev/null +++ b/net-analyzer/cacti-spine/cacti-spine-1.2.20.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +MY_P=${PN}-${PV/_p/-} + +DESCRIPTION="Spine is a fast poller for Cacti (formerly known as Cactid)" +HOMEPAGE="https://cacti.net/spine_info.php" +SRC_URI="https://www.cacti.net/downloads/spine/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~hppa ~ppc64 ~sparc x86" + +DEPEND="dev-db/mysql-connector-c:= + dev-libs/openssl:= + net-analyzer/net-snmp:=" +RDEPEND="${DEPEND} + >net-analyzer/cacti-0.8.8" +BDEPEND="sys-apps/help2man" + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + # Drop CONFIG_SHELL after 1.2.x (fix is on develop branch) + CONFIG_SHELL="${BROOT}"/bin/bash econf +} + +src_install() { + dosbin spine + + insinto /etc/ + insopts -m0640 -o root + newins spine.conf{.dist,} + + doman spine.1 + dodoc CHANGELOG +} diff --git a/net-analyzer/cacti-spine/cacti-spine-9999.ebuild b/net-analyzer/cacti-spine/cacti-spine-9999.ebuild new file mode 100644 index 000000000000..cfc27aa3907f --- /dev/null +++ b/net-analyzer/cacti-spine/cacti-spine-9999.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools git-r3 + +MY_P=${PN}-${PV/_p/-} + +DESCRIPTION="Spine is a fast poller for Cacti (formerly known as Cactid)" +HOMEPAGE="https://cacti.net/spine_info.php" +EGIT_REPO_URI="https://github.com/Cacti/spine" + +LICENSE="LGPL-2.1" +SLOT="0" + +BDEPEND="sys-apps/help2man" +DEPEND="dev-libs/openssl:= + net-analyzer/net-snmp:= + dev-db/mysql-connector-c:0=" +RDEPEND="${DEPEND} + >net-analyzer/cacti-0.8.8" + +PATCHES=( + "${FILESDIR}"/${PN}-0.8.8g-net-snmp.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_install() { + dosbin spine + + insinto /etc/ + insopts -m0640 -o root + newins spine.conf{.dist,} + + doman spine.1 + dodoc CHANGELOG +} diff --git a/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch b/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch new file mode 100644 index 000000000000..5ee62e2279a0 --- /dev/null +++ b/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch @@ -0,0 +1,19 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -251,14 +251,14 @@ + + # Net-SNMP includes v3 support and insists on crypto unless compiled --without-openssl + AC_MSG_CHECKING([if Net-SNMP needs crypto support]) +-AC_TRY_COMPILE([#include <net-snmp-config.h>], [exit(NETSNMP_USE_OPENSSL != 1);], ++AC_TRY_COMPILE([#include <net-snmp/net-snmp-config.h>], [exit(NETSNMP_USE_OPENSSL != 1);], + [ AC_MSG_RESULT(yes) + SNMP_SSL=yes + ], + AC_MSG_RESULT(no) + ) + +-AC_TRY_COMPILE([ #include <net-snmp-config.h> ++AC_TRY_COMPILE([ #include <net-snmp/net-snmp-config.h> + #include <net-snmp/utilities.h> + #include <net-snmp/net-snmp-includes.h> + #include <net-snmp/config_api.h> diff --git a/net-analyzer/cacti-spine/metadata.xml b/net-analyzer/cacti-spine/metadata.xml new file mode 100644 index 000000000000..cad809258c8a --- /dev/null +++ b/net-analyzer/cacti-spine/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + Spine (formerly known as Cactid) is a poller for Cacti that primarily + strives to be as fast as possible. For this reason it is written in + native C, makes use of POSIX threads, and is linked directly against the + net-snmp library for minmumal SNMP polling overhead. Spine is a + replacement for the default cmd.php poller so you must decide if using + Spine makes sense for your installation. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cacti/Manifest b/net-analyzer/cacti/Manifest new file mode 100644 index 000000000000..a7c1d7d9253a --- /dev/null +++ b/net-analyzer/cacti/Manifest @@ -0,0 +1 @@ +DIST cacti-1.2.26.tar.gz 43637358 BLAKE2B 862b98e9b194f211a400b37f90c2bfb128bf71ee4660391ba2311deedd8b1342ce0d17d67181d16deae345c12596d7599b1272272b32fd7ab52fe2850f8209f6 SHA512 43bfa2fa5b87267191f845de8be38025b795509eb12817e5ff9884b20676655ec4e5230e015abe2afa9f10354317eec39081613e5c9fec4f6a6f314bedf873ab diff --git a/net-analyzer/cacti/cacti-1.2.26.ebuild b/net-analyzer/cacti/cacti-1.2.26.ebuild new file mode 100644 index 000000000000..c07574d0d83f --- /dev/null +++ b/net-analyzer/cacti/cacti-1.2.26.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edos2unix webapp + +# Support for _p* in version. +MY_P=${P/_p*/} + +DESCRIPTION="Cacti is a complete frontend to rrdtool" +HOMEPAGE="https://www.cacti.net/" +SRC_URI="https://www.cacti.net/downloads/${MY_P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="amd64 ~arm ~hppa ~ppc64 ~sparc x86" +IUSE="snmp doc" + +need_httpd + +RDEPEND=" + dev-lang/php[cli,mysql,pdo,session,sockets,xml] + dev-php/adodb + net-analyzer/rrdtool[graph] + virtual/cron + snmp? ( >=net-analyzer/net-snmp-5.2.0 ) +" + +src_compile() { :; } + +src_install() { + dodoc CHANGELOG + dodoc -r docs + mv docs .. || die + + webapp_src_preinst + + edos2unix `find -type f -name '*.php'` + + dodir ${MY_HTDOCSDIR} + cp -r . "${ED}"${MY_HTDOCSDIR} + + webapp_serverowned ${MY_HTDOCSDIR}/rra + webapp_serverowned ${MY_HTDOCSDIR}/log + webapp_configfile ${MY_HTDOCSDIR}/include/config.php + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + + webapp_src_install +} diff --git a/net-analyzer/cacti/files/postinstall-en.txt b/net-analyzer/cacti/files/postinstall-en.txt new file mode 100644 index 000000000000..732c718005cb --- /dev/null +++ b/net-analyzer/cacti/files/postinstall-en.txt @@ -0,0 +1,62 @@ + +New Install + +1. Create the new cacti database + shell> mysqladmin -p --user=root create cacti +2. Import the default cacti database: + shell> mysql -p --user=root cacti < ${MY_INSTALLDIR}/cacti.sql +3. Create a MySQL username and password for cacti. + shell> mysql -p --user=root mysql + mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword'; + mysql> flush privileges; +4. Edit ${MY_INSTALLDIR}/include/config.php and modify the MySQL user, + password and database for your cacti configuration. + + Example: + \$database_default = "cacti"; + \$database_hostname = "localhost"; + \$database_username = "cactiuser"; + \$database_password = "somepassword"; + +5. Point your web browser to: http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/ + Make sure to fill in all of the path variables carefully and + correctly on the following screen. +6. After you've gone through the setup wizard, go back to the main cacti page + and login as: + Username: admin + Password: admin + +Upgrading + +1. Backup DB in the case that something goes wrong. + shell> mysqldump -l --add-drop-table cacti > mysql.cacti +2. Backup your rra/ directory and any custom scripts in your scripts/ + directory. +3. Edit ${MY_INSTALLDIR}/include/config.php, and confirm that the MySQL user, + password and database is correct for your cacti configuration. + + Example: + \$database_default = "cacti"; + \$database_hostname = "localhost"; + \$database_username = "cactiuser"; + \$database_password = "somepassword"; +4. Point your web browser to: http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/ + Select "Upgrade". + Make sure to fill in all of the path variables carefully and + correctly on the following screen. + +Cronjob + +Either new or upgrading, make sure you have a cron job - Add this line to +your /etc/crontab file: + + */5 * * * * ${VHOST_SERVER_GID} /usr/bin/php ${MY_INSTALLDIR}/poller.php > /dev/null 2>&1 + +Note that you should use poller.php as the cronjob instead of cmd.php (as it was with +earlier versions) to enable you to switch between cmd.php and cactid. + +Also make sure that the user poller.php runs as ( ${VHOST_SERVER_GID} ) has +permission to create new files in Cacti's 'rra/' directory which is +${MY_INSTALLDIR}/rra + + diff --git a/net-analyzer/cacti/metadata.xml b/net-analyzer/cacti/metadata.xml new file mode 100644 index 000000000000..b5e34e63c841 --- /dev/null +++ b/net-analyzer/cacti/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <stabilize-allarches /> + <longdescription lang="en"> + Cacti is a complete network graphing solution designed to harness the + power of RRDTool's data storage and graphing functionality. Cacti + provides a fast poller, advanced graph templating, multiple data + acquisition methods, and user management features out of the box. All of + this is wrapped in an intuitive, easy to use interface that makes sense + for LAN-sized installations up to complex networks with hundreds of + devices. + </longdescription> + <use> + <flag name="doc">install html documentation</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:cacti:cacti</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/calamaris/Manifest b/net-analyzer/calamaris/Manifest new file mode 100644 index 000000000000..6e7a8d331b01 --- /dev/null +++ b/net-analyzer/calamaris/Manifest @@ -0,0 +1,2 @@ +DIST calamaris-2.99.4.5.tar.gz 116893 BLAKE2B 9864f135b364dd7d7becd7c30cc28da1f41c4db0fb940f45153d5fd8da04c8df8675a728e19b47f6eb8f602945655817717189349fe047944d0abdacfd0476c9 SHA512 d9bc890afd6a349ea448b4f40281b8d4dd5babf2915cdfe6d4a46c066826e54c3a9e988e575fb13a4cf5ae9500d33faa5d24f295504f7b6fbfbec219610b309d +DIST calamaris-2.99.4.7.tar.gz 119791 BLAKE2B 390b38cad5f021899592365d763bcd009e41a39e0ccd9e5a3c28b4aa7224ee97b1591995a0441d6970548f9093df7f94c570bf94f0ba0a27ba8d2a854e41572c SHA512 0d2f15214b58dcf5a2d170e30a9ae61f0191e2b2fd1dfbce271655802f358e2e5b02e1884f68aa62fbbe9ff91bc6b564e6cfaaed48c3484a0d781a2b28e15bed diff --git a/net-analyzer/calamaris/calamaris-2.99.4.5.ebuild b/net-analyzer/calamaris/calamaris-2.99.4.5.ebuild new file mode 100644 index 000000000000..def7af0634f8 --- /dev/null +++ b/net-analyzer/calamaris/calamaris-2.99.4.5.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="parses logfiles of a wide variety of web proxy servers and generates reports" +HOMEPAGE="https://cord.de/calamaris-english" +SRC_URI="https://cord.de/files/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="selinux" + +RDEPEND=" + dev-lang/perl + dev-perl/GDGraph + selinux? ( sec-policy/selinux-calamaris ) +" + +src_prepare() { + default + sed -i \ + -e "s:\(use lib\).*$:\1 '/usr/share/';:" \ + calamaris || die +} + +src_install() { + dobin calamaris calamaris-cache-convert + + insinto /usr/share/${PN} + doins *.pm + + doman calamaris.1 + + dodoc BUGS CHANGES EXAMPLES EXAMPLES.v3 README TODO calamaris.conf +} diff --git a/net-analyzer/calamaris/calamaris-2.99.4.7.ebuild b/net-analyzer/calamaris/calamaris-2.99.4.7.ebuild new file mode 100644 index 000000000000..0fc541570a7d --- /dev/null +++ b/net-analyzer/calamaris/calamaris-2.99.4.7.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Parses logfiles of a wide variety of web proxy servers and generates reports" +HOMEPAGE="https://cord.de/calamaris-english" +SRC_URI="https://cord.de/files/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="selinux" + +RDEPEND=" + dev-lang/perl + dev-perl/GDGraph + selinux? ( sec-policy/selinux-calamaris ) +" + +src_prepare() { + default + sed -i \ + -e "s:\(use lib\).*$:\1 '/usr/share/';:" \ + calamaris || die +} + +src_install() { + dobin calamaris calamaris-cache-convert + + insinto /usr/share/${PN} + doins *.pm + + doman calamaris.1 + + dodoc BUGS CHANGES EXAMPLES EXAMPLES.v3 README TODO calamaris.conf +} diff --git a/net-analyzer/calamaris/metadata.xml b/net-analyzer/calamaris/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/calamaris/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cbm/Manifest b/net-analyzer/cbm/Manifest new file mode 100644 index 000000000000..e71149653f35 --- /dev/null +++ b/net-analyzer/cbm/Manifest @@ -0,0 +1,2 @@ +DIST cbm-0.3.2.tar.gz 17448 BLAKE2B 21acdfb2e125b31f617bd3204cc11ef199647552b67671e62bec7a94ea4a5c213a1099c72261e6370aee06e4a6686392878a30a863778387c08a1a8095855940 SHA512 7a597467203786023a8efee23ea1ed65195f872f6287ed2767f9be449cc47757980703f629222f37309c25cc5f201d9581a713479d954ddc99347d641ab4ac34 +DIST cbm-0.4.tar.gz 17889 BLAKE2B f46a325156e5cd406448f0c2205615b080f7fe30b93874b306fbfd39a0eca409b76989035f9245b5f3e834a814ed53e57a22d7cf62edeae86e27e56c3809ea7b SHA512 3574b49b403995684da2a6d8d164ad4f3f1ce290060bc91f5a6f5c80e4a4cb81dd7914b7e7dfcff937c0333e20f169de497869d649debf73885e253a7db76222 diff --git a/net-analyzer/cbm/cbm-0.3.2.ebuild b/net-analyzer/cbm/cbm-0.3.2.ebuild new file mode 100644 index 000000000000..9c8f5b01a4b2 --- /dev/null +++ b/net-analyzer/cbm/cbm-0.3.2.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Color Bandwidth Meter" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/cbm" +SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND}" +BDEPEND="app-text/docbook-xml-dtd:4.4 + app-text/xmlto + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.2-tinfo.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/cbm/cbm-0.4.ebuild b/net-analyzer/cbm/cbm-0.4.ebuild new file mode 100644 index 000000000000..d50e38348047 --- /dev/null +++ b/net-analyzer/cbm/cbm-0.4.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Color Bandwidth Meter" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/cbm" +SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND}" +BDEPEND="app-text/docbook-xml-dtd:4.4 + app-text/xmlto + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.2-tinfo.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/cbm/files/cbm-0.2-tinfo.patch b/net-analyzer/cbm/files/cbm-0.2-tinfo.patch new file mode 100644 index 000000000000..a719969eaaab --- /dev/null +++ b/net-analyzer/cbm/files/cbm-0.2-tinfo.patch @@ -0,0 +1,21 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -37,6 +37,7 @@ + AC_CANONICAL_HOST + + # Checks for libraries. ++PKG_CHECK_MODULES(ncurses,ncurses) + + # Checks for header files. + AC_CHECK_HEADER(curses.h,[],[ AC_MSG_ERROR(curses.h not found or too old.) ], []) +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,7 +24,7 @@ + cbm_SOURCES = cbm.cpp \ + ErrnoError.hpp \ + statistics.cpp statistics.hpp +-cbm_LDADD = -lncurses widgets/libwidgets.la ++cbm_LDADD = $(ncurses_LIBS) widgets/libwidgets.la + + distclean-local: + -rm -f *~ \ diff --git a/net-analyzer/cbm/metadata.xml b/net-analyzer/cbm/metadata.xml new file mode 100644 index 000000000000..f6067edecf08 --- /dev/null +++ b/net-analyzer/cbm/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + The Color Bandwidth Meter (CBM) is a small program to display the traffic + currently flowing through the network devices in a simple curses-based GUI. + The traffic for all interfaces include values as receive, transfer and total + Bytes/s or bits/s (or its multiples as KB/s and Kb/s). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/chronograf/Manifest b/net-analyzer/chronograf/Manifest new file mode 100644 index 000000000000..b906fdb9c76e --- /dev/null +++ b/net-analyzer/chronograf/Manifest @@ -0,0 +1,3 @@ +DIST chronograf-1.8.5-deps.tar.xz 125095248 BLAKE2B e26ebe7f3da1de0b2733fc664252f05bdf74b52610be4bd848c47d299977b8d29e066ce6371bb923190a3323aa0438b58de85bf98d8f2af8831a838822c8533d SHA512 957fa8aa460bb35a98caee2e5c878e987ee3a18ed16b491dc804f7f4d4291dea69dca750a62ca400d077883e777a239ed536eee544de9c3252cc209cb0565681 +DIST chronograf-1.8.5-gen.tar.gz 3006503 BLAKE2B a7d8409d197df5c8a539ae0c0bf0a2fa557d5f56edc491cc9f75566e7dfa3eaea24955f7e36637dba87f9fb54aa6461b83e17c539599164100076e494d208465 SHA512 c7f28644d4143883b792448a62f03f733d7fbc1ea4fa77c29af9d5f7ee6982133c98cf995e13d76a4b43deda6ac30ecf9e8fedf7f0876beb2d9dc58dde3fea68 +DIST chronograf-1.8.5.tar.gz 2208763 BLAKE2B fd5f12c5a3ed8f83016bcfb42afafc309acd642c7b6795ca43c265ee41824e9ee116238d0f56c010b3f3c777a67225c21da3179af763fc66e0f5ef87cb5cca59 SHA512 075f83f38fcfeff199ab7fc6d393cc6aafa95cd1bc7415602dc8bedb0d7203b5b70de386165ac6ba502fdd9503779016a616eb59b31a2e87a96b01ce66ecfa5c diff --git a/net-analyzer/chronograf/chronograf-1.8.5.ebuild b/net-analyzer/chronograf/chronograf-1.8.5.ebuild new file mode 100644 index 000000000000..75faf8089855 --- /dev/null +++ b/net-analyzer/chronograf/chronograf-1.8.5.ebuild @@ -0,0 +1,67 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit go-module systemd +COMMIT=6b7e6cb1a + +DESCRIPTION="Monitoring, processing and alerting on time series data" +HOMEPAGE="https://www.influxdata.com" +SRC_URI="https://github.com/influxdata/chronograf/archive/${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz + https://dev.gentoo.org/~williamh/dist/${P}-gen.tar.gz" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +COMMON_DEPEND="acct-group/chronograf + acct-user/chronograf" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_prepare() { + default + mv ../canned/bin_gen.go canned || die + mv ../dist/dist_gen.go dist || die + mv ../protoboards/bin_gen.go protoboards || die + mv ../server/swagger_gen.go server || die +} + +src_compile() { + local go_ldflags + go_ldflags=" + -X main.commit=${COMMIT} + -X main.version=${PV}" + go build \ + -o chronograf \ + -ldflags "${go_ldflags}" \ + ./cmd/chronograf/main.go || die "could not compile chronograf" + go build \ + -o chronoctl \ + -ldflags "${go_ldflags}" \ + ./cmd/chronoctl || die "could not compile chronoctl" +} + +src_install() { + dobin chronograf chronoctl + dodoc CHANGELOG.md + insinto /etc/logrotate.d + newins etc/scripts/logrotate chronograf + systemd_dounit etc/scripts/chronograf.service + insinto /usr/share/chronograf/canned + doins canned/*.json + keepdir /usr/share/chronograf/resources + newconfd "${FILESDIR}"/chronograf.confd chronograf + newinitd "${FILESDIR}"/chronograf.rc chronograf + keepdir /var/log/chronograf + fowners chronograf:chronograf /var/log/chronograf +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + einfo "In order to use chronograf, you will need to configure" + einfo "the appropriate options in ${EROOT}/etc/conf.d/chronograf" + fi +} diff --git a/net-analyzer/chronograf/files/chronograf.confd b/net-analyzer/chronograf/files/chronograf.confd new file mode 100644 index 000000000000..a70c355c6fb6 --- /dev/null +++ b/net-analyzer/chronograf/files/chronograf.confd @@ -0,0 +1,16 @@ +#The convention in this file is to show the default setting commented +#out. +#To change the setting, uncomment it then change the value. + +#This is the chronograf error log: +#error_log="/var/log/chronograf/chronograf.log" + +#This is the chronograf output log: +#output_log="/dev/null" + +# If you set this to yes, chronograf will report anonymous usage stats +# to influx data. +#report_usage_stats="no" + +# Extra options to pass to chronograf: +#chronograf_opts="" diff --git a/net-analyzer/chronograf/files/chronograf.rc b/net-analyzer/chronograf/files/chronograf.rc new file mode 100644 index 000000000000..335240dbf269 --- /dev/null +++ b/net-analyzer/chronograf/files/chronograf.rc @@ -0,0 +1,22 @@ +#!/sbin/openrc-run + +command=/usr/bin/chronograf +command_args="${chronograf_opts}" +command_background=yes +command_user=chronograf:chronograf +make_pidfile=yes +pidfile=/var/run/chronografd.pid + +# Logging +error_log="${error_log:-/var/log/chronograf/chronograf.log}" +output_log="${output_log:-/dev/null}" + +start_pre() { + export HOST=127.0.0.1 + export PORT=8888 + export BOLT_PATH=/var/lib/chronograf/chronograf-v1.db + export CANNED_PATH=/usr/share/chronograf/canned + export RESOURCES_PATH=/usr/share/chronograf/RESOURCES + yesno "${report_usage_stats:-no}" || export REPORTING_DISABLED=yes + return 0 +} diff --git a/net-analyzer/chronograf/metadata.xml b/net-analyzer/chronograf/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/net-analyzer/chronograf/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cloudshark/Manifest b/net-analyzer/cloudshark/Manifest new file mode 100644 index 000000000000..04725555ecde --- /dev/null +++ b/net-analyzer/cloudshark/Manifest @@ -0,0 +1 @@ +DIST cloudshark-1.0.4.tar.gz 24947 BLAKE2B e386d8cb2faf941ef97bd593c2d17566c5d97dce4d73af0d2f462d6e5c875a59e6598e5679bebf4c06be1dde8ebd37c05354dac46c6349c19b65ae0b57a1976b SHA512 5cb0e43e348d00c0ecc98f079a35f455865cbbe884e34101369b74429bb5bc14bb98acffa9749ce44a765e3653c0548e8b30cc658fb982b09dd61e2ec31b4f86 diff --git a/net-analyzer/cloudshark/cloudshark-1.0.4-r1.ebuild b/net-analyzer/cloudshark/cloudshark-1.0.4-r1.ebuild new file mode 100644 index 000000000000..0eee6336f1e0 --- /dev/null +++ b/net-analyzer/cloudshark/cloudshark-1.0.4-r1.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Easily upload your wireshark captures to CloudShark" +HOMEPAGE="https://cloudshark.io/articles/wireshark-plugin/ https://github.com/cloudshark/wireshark-plugin" +SRC_URI="https://github.com/${PN}/wireshark-plugin/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +RDEPEND=" + net-analyzer/wireshark:=[lua] + net-misc/curl +" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/wireshark-plugin-${PV}" + +get_PV() { + local pv=$(best_version $1) + pv=${pv#$1-}; pv=${pv%-r*} + pv=${pv//_}; echo ${pv} +} + +src_prepare() { + #cloudshark isn't meant to be installed systemwide, we fix that + eapply "${FILESDIR}"/cs_log_dir.patch + + sed -i "s#%s/cloudshark_init.lua#/usr/$(get_libdir)/wireshark/plugins/$(get_PV net-analyzer/wireshark)/cloudshark_init.lua#" cloudshark.lua + + #this enables cloudshark by DEFAULT on tshark, not desired + #sed -i 's#CLOUDSHARK_TSHARK = "n"#CLOUDSHARK_TSHARK = "y"#' cloudshark_init.default + default +} + +src_install() { + insinto /usr/$(get_libdir)/wireshark/plugins/$(get_PV net-analyzer/wireshark) + doins cloudshark.lua json.lua + newins cloudshark_init.default cloudshark_init.lua + dodoc README.md +} diff --git a/net-analyzer/cloudshark/files/cs_log_dir.patch b/net-analyzer/cloudshark/files/cs_log_dir.patch new file mode 100644 index 000000000000..9b0424e3cd44 --- /dev/null +++ b/net-analyzer/cloudshark/files/cs_log_dir.patch @@ -0,0 +1,13 @@ +diff -Naur cloudshark-1.0.2-174-orig/cloudshark.lua cloudshark-1.0.2-174/cloudshark.lua +--- cloudshark-1.0.2-174-orig/cloudshark.lua 2013-06-03 00:00:46.669223099 -0400 ++++ cloudshark-1.0.2-174/cloudshark.lua 2013-06-03 00:01:31.493224300 -0400 +@@ -180,7 +180,8 @@ + -- + + function cs_log_dir() +- return persconffile_path('plugins/cloudshark') ++ local log_dir = "/tmp" ++ return log_dir + end + + -- diff --git a/net-analyzer/cloudshark/metadata.xml b/net-analyzer/cloudshark/metadata.xml new file mode 100644 index 000000000000..22d29be8fc24 --- /dev/null +++ b/net-analyzer/cloudshark/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cnet/Manifest b/net-analyzer/cnet/Manifest new file mode 100644 index 000000000000..6f216853448c --- /dev/null +++ b/net-analyzer/cnet/Manifest @@ -0,0 +1 @@ +DIST cnet-3.3.4.tgz 2687235 BLAKE2B dec8b4510cfb9a39ade046dee56955d4ab39094d07acf373b056ce1917f3bbddcf22cf5feefe864b472be4c4a47da3147a3b977cdbf8b0295e0c3a8da95a8420 SHA512 51457541d1023e49bdad4df3502c51d11ea6d62e3e6ae857becfb60229626ba777226b2b42d313d95b982b2790c6b1f80b39e344d9d4bcd4c38ccc31b055d8f9 diff --git a/net-analyzer/cnet/cnet-3.3.4.ebuild b/net-analyzer/cnet/cnet-3.3.4.ebuild new file mode 100644 index 000000000000..2685af53c5bd --- /dev/null +++ b/net-analyzer/cnet/cnet-3.3.4.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Network simulation tool" +HOMEPAGE="https://www.csse.uwa.edu.au/cnet3/" +SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples" + +RDEPEND=" + >=dev-lang/tk-8.5 + dev-libs/elfutils + x11-libs/libX11 +" +DEPEND="${RDEPEND}" + +DOCS=( 1st.README ) + +PATCHES=( + "${FILESDIR}"/${PN}-3.3.4-gentoo.patch + "${FILESDIR}"/${PN}-3.3.1-tcl.patch +) + +src_prepare() { + # Set libdir properly + sed -i -e "/CNETPATH/s:local/lib:$(get_libdir):" src/preferences.h || die + sed -i -e "/^LIBDIR/s:lib:$(get_libdir):" Makefile || die + + default +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + C99="$(tc-getCC) -std=c99" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" +} + +src_install() { + default + + if use examples; then + dodoc -r examples + fi +} diff --git a/net-analyzer/cnet/files/cnet-3.3.1-tcl.patch b/net-analyzer/cnet/files/cnet-3.3.1-tcl.patch new file mode 100644 index 000000000000..4c30673f2e67 --- /dev/null +++ b/net-analyzer/cnet/files/cnet-3.3.1-tcl.patch @@ -0,0 +1,13 @@ +--- a/src/Makefile.linux ++++ b/src/Makefile.linux +@@ -17,8 +17,8 @@ + #XLIBS = -ltcl -ltk -lX11 + # + # or you may need something like: +-XINCLUDES = -I/usr/include/tcl8.5 +-XLIBS = -ltcl8.5 -ltk8.5 -lX11 ++#XINCLUDES = -I/usr/include/tcl8.5 ++XLIBS = -ltcl -ltk -lX11 + # + C99 = $(CC) -std=c99 -Wall -pedantic + CFLAGS += -fPIC $(INCLUDES) $(XINCLUDES) diff --git a/net-analyzer/cnet/files/cnet-3.3.4-gentoo.patch b/net-analyzer/cnet/files/cnet-3.3.4-gentoo.patch new file mode 100644 index 000000000000..b68b6d1bc51d --- /dev/null +++ b/net-analyzer/cnet/files/cnet-3.3.4-gentoo.patch @@ -0,0 +1,161 @@ +--- a/Makefile ++++ b/Makefile +@@ -6,7 +6,7 @@ + # Comment/uncomment the following 4 constants to suit your system: + # + # PREFIX defines the directory below which cnet will be installed. +-PREFIX = /usr/local ++PREFIX = /usr + #PREFIX = $(HOME) + # + # BINDIR defines the directory where the cnet binary will be installed. +@@ -16,26 +16,24 @@ + LIBDIR = $(PREFIX)/lib64/cnet + # + # WWWDIR defines the directory to hold cnet's web-based documentation +-WWWDIR = /home/httpd/html/cnet ++#WWWDIR = /home/httpd/html/cnet + #WWWDIR = $(HOME)/WWW/cnet + # + # --------------------------------------------------------------------- + # + it: +- make -C src +- make -C support ++ $(MAKE) -C src ++ $(MAKE) -C support + @ls -l bin/$(NAME) lib/*.a + + install: +- make +- @mkdir -p $(BINDIR) $(LIBDIR) +- @chmod 755 $(BINDIR) $(LIBDIR) +- @cp bin/$(NAME) $(BINDIR)/$(NAME) +- @chmod 755 $(BINDIR)/$(NAME) +- @rm -rf $(LIBDIR)/* +- @cp lib/* $(LIBDIR) +- @chmod 644 $(LIBDIR)/* +- @ls -l $(BINDIR)/$(NAME) $(LIBDIR)/*.a ++ @mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) ++ @chmod 755 $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) ++ @cp bin/$(NAME) $(DESTDIR)$(BINDIR)/$(NAME) ++ @chmod 755 $(DESTDIR)$(BINDIR)/$(NAME) ++ @rm -rf $(DESTDIR)$(LIBDIR)/* ++ @cp lib/* $(DESTDIR)$(LIBDIR) ++ @chmod 644 $(DESTDIR)$(LIBDIR)/* + + AND = html/CLICK html/KEYBOARD html/STOPANDWAIT html/TICKTOCK + www: +--- a/src/Makefile.linux ++++ b/src/Makefile.linux +@@ -5,7 +5,7 @@ + # binutils 2.5.2, and + # libelf (0.6.4 onwards) + # +-WARNINGS = -Wall -Werror -Wshadow -Wpointer-arith -Wcast-qual \ ++WARNINGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \ + -Wcast-align -Wwrite-strings -Wconversion \ + -Wstrict-prototypes -Wredundant-decls -Winline \ + -Wcomments -Wtrigraphs -Wimport -Wundef +@@ -20,8 +20,8 @@ + XINCLUDES = -I/usr/include/tcl8.5 + XLIBS = -ltcl8.5 -ltk8.5 -lX11 + # +-C99 = gcc -std=c99 -Wall -Werror -pedantic +-CFLAGS = -O3 -fPIC $(INCLUDES) $(XINCLUDES) ++C99 = $(CC) -std=c99 -Wall -pedantic ++CFLAGS += -fPIC $(INCLUDES) $(XINCLUDES) + # + LD = gcc -rdynamic + LIBDIRS = $(XLIBDIRS) +--- a/support/Makefile ++++ b/support/Makefile +@@ -7,21 +7,21 @@ + + it: + @if uname -s -r | grep -q "Linux" ; then \ +- make -f Makefile.linux ; fi ++ $(MAKE) -f Makefile.linux ; fi + @if uname -s -r | grep -q "Darwin" ; then \ +- make -f Makefile.macosx ; fi ++ $(MAKE) -f Makefile.macosx ; fi + @if uname -s -r | grep -q "SunOS 4" ; then \ +- make -f Makefile.sunos ; fi ++ $(MAKE) -f Makefile.sunos ; fi + @if uname -s -r | grep -q "SunOS 5" ; then \ +- make -f Makefile.solaris ; fi ++ $(MAKE) -f Makefile.solaris ; fi + @if uname -s -r | grep -q "OSF1" ; then \ +- make -f Makefile.osf1 ; fi ++ $(MAKE) -f Makefile.osf1 ; fi + @if uname -s -r | grep -q "IRIX" ; then \ +- make -f Makefile.irix5 ; fi ++ $(MAKE) -f Makefile.irix5 ; fi + @if uname -s -r | grep -q "FreeBSD" ; then \ +- make -f Makefile.freebsd ; fi ++ $(MAKE) -f Makefile.freebsd ; fi + @if uname -s -r | grep -q "NetBSD" ; then \ +- make -f Makefile.netbsd ; fi ++ $(MAKE) -f Makefile.netbsd ; fi + @cp -p cnetsupport.h ../lib + + # --------------------------------------------------------------------- +--- a/src/Makefile ++++ b/src/Makefile +@@ -8,21 +8,21 @@ + + it: + @if uname -s -r | grep -q "Linux" ; then \ +- make -f Makefile.linux $(NAME) ; fi ++ $(MAKE) -f Makefile.linux $(NAME) ; fi + @if uname -s -r | grep -q "Darwin" ; then \ +- make -f Makefile.macosx $(NAME) ; fi ++ $(MAKE) -f Makefile.macosx $(NAME) ; fi + @if uname -s -r | grep -q "SunOS 4" ; then \ +- make -f Makefile.sunos $(NAME) ; fi ++ $(MAKE) -f Makefile.sunos $(NAME) ; fi + @if uname -s -r | grep -q "SunOS 5" ; then \ +- make -f Makefile.solaris $(NAME) ; fi ++ $(MAKE) -f Makefile.solaris $(NAME) ; fi + @if uname -s -r | grep -q "OSF1" ; then \ +- make -f Makefile.osf1 $(NAME) ; fi ++ $(MAKE) -f Makefile.osf1 $(NAME) ; fi + @if uname -s -r | grep -q "IRIX" ; then \ +- make -f Makefile.irix5 $(NAME) ; fi ++ $(MAKE) -f Makefile.irix5 $(NAME) ; fi + @if uname -s -r | grep -q "FreeBSD" ; then \ +- make -f Makefile.freebsd $(NAME) ; fi ++ $(MAKE) -f Makefile.freebsd $(NAME) ; fi + @if uname -s -r | grep -q "NetBSD" ; then \ +- make -f Makefile.netbsd $(NAME) ; fi ++ $(MAKE) -f Makefile.netbsd $(NAME) ; fi + @cp -p $(NAME) ../bin + @cp -p cnet.h ../lib + +@@ -33,7 +33,7 @@ + @rm -rf HTML GPATH GRTAGS GSYMS GTAGS + + hide: +- make clean ++ $(MAKE) clean + echo '#if HIDE_GLOBAL_NAMES' > hidenames.h + sort < HIDENAMES | \ + awk '{ if($$0 !~ /#/) printf("#define\t%-36s\t__CN%03d\n", $$0,++n);}'\ +--- a/support/Makefile.common ++++ b/support/Makefile.common +@@ -1,13 +1,12 @@ + # +-C99 = gcc -std=c99 -Wall -Werror -pedantic -O3 -fPIC + + DOTH = cnetsupport.h + OBJ = hashtable.o haversine.o lexical.o md5.o queue.o vector.o + + $(NAME): $(OBJ) + @echo linking $(NAME) +- @ar rc $(NAME) $(OBJ) +- @ranlib $(NAME) ++ $(AR) rc $(NAME) $(OBJ) ++ $(RANLIB) $(NAME) + @cp -p $(NAME) ../lib + + %.o : %.c $(DOTH) diff --git a/net-analyzer/cnet/metadata.xml b/net-analyzer/cnet/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/cnet/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/cutter/Manifest b/net-analyzer/cutter/Manifest new file mode 100644 index 000000000000..9cd1ba973c97 --- /dev/null +++ b/net-analyzer/cutter/Manifest @@ -0,0 +1 @@ +DIST cutter-1.04.tgz 13680 BLAKE2B 373e5e0c0fb14224974ff399c7db0a69dc5568394a881be2c285437050a1ec4cfb26acbcdd593d22519f34a32760bdbe342a96c2a4d55547f7c06bc49806e228 SHA512 79c17ec8c17e696a79aa8b11fda347f2e6929eb35f9a37da450acf6aff7ab9471e13eaef24708f90f3f0c2791fade2eb944443b98df3d3ae4eef0c408abc7b3a diff --git a/net-analyzer/cutter/cutter-1.04.ebuild b/net-analyzer/cutter/cutter-1.04.ebuild new file mode 100644 index 000000000000..ebe71d34d0bc --- /dev/null +++ b/net-analyzer/cutter/cutter-1.04.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="TCP/IP Connection cutting on Linux Firewalls and Routers" +HOMEPAGE="http://www.digitage.co.uk/digitage/software/linux-security/cutter" +SRC_URI="http://www.digitage.co.uk/digitage/files/${PN}/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +PATCHES=( + "${FILESDIR}"/${PN}-1.03-debian.patch + "${FILESDIR}"/${PN}-1.04-musl-if-ether.patch +) + +src_prepare() { + default + + # implicit rules are better ;x + rm -f Makefile || die +} + +src_compile() { + emake cutter CC="$(tc-getCC)" +} + +src_install() { + dosbin cutter + dodoc README + doman debian/cutter.8 +} diff --git a/net-analyzer/cutter/files/cutter-1.03-debian.patch b/net-analyzer/cutter/files/cutter-1.03-debian.patch new file mode 100644 index 000000000000..607e06df744f --- /dev/null +++ b/net-analyzer/cutter/files/cutter-1.03-debian.patch @@ -0,0 +1,182 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ + cutter: cutter.c +- cc cutter.c -o cutter ++ cc $(CFLAGS) cutter.c -o cutter + + clean: + rm -f cutter.o cutter +--- a/cutter.c ++++ b/cutter.c +@@ -57,6 +57,7 @@ + #include <arpa/inet.h> + #include <net/if.h> + #include <errno.h> ++#include <time.h> + + #define ETHHDR sizeof(struct ethhdr) + #define TCPHDR sizeof(struct tcphdr) +@@ -149,7 +150,6 @@ + int getmac(in_addr_t ip, uchar *mac) + { + FILE *id = fopen( "/proc/net/arp", "r" ); +- union { uchar c[4]; in_addr_t n; } ipu; + in_addr_t ipn; + int mac0, mac1, mac2, mac3, mac4, mac5; + int hwtype, flags; +@@ -240,7 +240,7 @@ + u_short toport + ) + { +- int i_result, raw_sock, rtn; ++ int i_result, raw_sock; + in_addr_t gateway_ip; + struct sockaddr_ll myaddr, hisaddr; + struct tpack tpack; +@@ -377,7 +377,7 @@ + + for ( ; time(0) < tstart + 15; ) { // give the peer 15 seconds to respond + struct sockaddr_ll gotaddr; +- int addrlen = sizeof(gotaddr); ++ unsigned int addrlen = sizeof(gotaddr); + fd_set readfds; + struct timeval tv; + +@@ -478,8 +478,7 @@ + { + FILE *id = fopen( "/proc/net/ip_conntrack", "r" ); + char src1[32], dst1[32], src2[32], dst2[32]; +- int sport1, dport1, sport2, dport2, i; +- int packets1, packets2, bytes1, bytes2; ++ int sport1, dport1, sport2, dport2; + in_addr_t src1n, src2n, dst1n, dst2n; + char buff[1024], *p; + int found = 0; +--- a/debian/cutter.8 ++++ b/debian/cutter.8 +@@ -0,0 +1,124 @@ ++.\" Hey, EMACS: -*- nroff -*- ++.TH CUTTER 8 "April, 2005" ++.SH NAME ++cutter \- cut tcp/ip connections ++.SH SYNOPSIS ++.B cutter ++.IR ipaddress1 \ [ \ port1 \ [ \ ipaddress2 \ [ \ port2 ++\ ] \ ] \ ] ++.br ++.SH DESCRIPTION ++.B Cutter ++is an open source program that allows Linux firewall ++administrators to abort TCP/IP connections routed over the firewall or ++router on which it is run. ++.br ++.SH WARNING ++.B Cutter ++has been designed for use as a administrators tool for Linux ++firewalls. It's use (as is, or modified) for any other purpose is not ++sanctioned by the author. So - do not use this tool as a parachute, or ++to dry your cat, chill meat, answer your phone, drive you car, teach ++your kids to read or attack other people's computer systems or networks. ++.PP ++This software has been designed for ++.I legal ++and ++.I appropriate ++use ++by network security administrators and the like. It has been written as ++part of a larger Linux firewall project, targetting at controlling traffic ++from peer-to-peer software such as Kazaa, iMesh and others into and out of ++a private network. It is not designed as a tool for malicious use and the ++author in no way sanctions such use. ++.PP ++Users of the software should be aware that it's actions are easily detectable ++using a number of readily available network monitoring tools, and it makes no ++attempt to disguise it's actions. Malicious use of "cutter" could result in a ++jail sentance in a number of countries around the world. ++.PP ++The author is not responsible for the results of using this software. It ++is provided "as is" in the hope that it will be useful, but no garantees ++are made about it's use. ++.br ++.SH USAGE ++.B Cutter ++can be called using one of the following four syntaxes. ++ ++.BI cutter \ ip-address ++ ++.B Example: ++.RS ++.br ++.BI cutter \ 10.10.0.45 ++ ++Cuts all connections ++passing through the firewall ++between any ports on the specified ip-address (either a "private" or ++"public" address) and any other hosts. This can be used to close down ++all incoming connections to a particular server, all outgoing ++connections from a particular client or all outgoing connections to a ++server. ++.RE ++ ++.B cutter ++.I ip-address port ++ ++.B Example: ++.RS ++.br ++.B cutter ++.I 200.1.2.3 80 ++ ++Cuts all connections to or from the ++specified ip-address/port pair. This allows the user to be a little more ++specific than the previous example and allows targetting of specific ++services on specific hosts. ++.RE ++ ++.B cutter ++.I ip-address-1 port-1 ip-address-2 ++ ++.B Example: ++.RS ++.br ++.B cutter ++.I 200.1.2.3 22 10.10.0.45 ++ ++Cuts all connections between ++ip-address-2 and ip-address-1/port-1. This allows the user to cut ++connections between a specified "client" and a particular service on a ++specified host. Our example closes host 10.10.0.45's SSH connection to ++server 200.1.2.3. ++.RE ++ ++.B cutter ++.I ip-address-1 port-1 ip-address-2 port-2 ++ ++.B Example: ++.RS ++.br ++.B cutter ++.I 200.1.2.3 22 10.10.0.45 32451 ++ ++Cuts the specific connection between ++the two ip/port number pairs given. ++.RE ++.SH STATUS ++Cutter 1.03 should be considered ++.B EXPERIMENTAL. ++The author is releasing a ++tool that works on the systems he has access to (namely: IPCop and ++RedHat Linux), and he is seeking input on it's use on other systems, ++ideas for improvement, offers of sponsorship - etc. ++.PP ++.br ++.SH ADDITIONAL DOCUMENTATION ++This program is documented at ++.UR http://www.lowth.com/cutter/ ++.I http://www.lowth.com/cutter/ ++.UE ++.SH AUTHOR ++Blars Blarson addapted the README and web page written by Chris Lowth ++into this man page for debian package of cutter. This man page may be ++distribuated under the terms of the Gnu GPL version 2. diff --git a/net-analyzer/cutter/files/cutter-1.04-musl-if-ether.patch b/net-analyzer/cutter/files/cutter-1.04-musl-if-ether.patch new file mode 100644 index 000000000000..fed8bc26ee02 --- /dev/null +++ b/net-analyzer/cutter/files/cutter-1.04-musl-if-ether.patch @@ -0,0 +1,12 @@ +https://git.alpinelinux.org/aports/tree/main/cutter/musl-fix.patch +https://bugs.gentoo.org/715994 +--- a/cutter.c ++++ b/cutter.c +@@ -47,7 +47,6 @@ + #include <linux/socket.h> + #include <linux/ip.h> + #include <linux/tcp.h> +-#include <linux/if_ether.h> + #include <fcntl.h> + #include <netpacket/packet.h> + #include <net/ethernet.h> /* the L2 protocols */ diff --git a/net-analyzer/cutter/metadata.xml b/net-analyzer/cutter/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/cutter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/darkstat/Manifest b/net-analyzer/darkstat/Manifest new file mode 100644 index 000000000000..1a0ef22ae56d --- /dev/null +++ b/net-analyzer/darkstat/Manifest @@ -0,0 +1 @@ +DIST darkstat-3.0.721.tar.gz 104050 BLAKE2B 1005bd3e40be59ad214c95908b34e70eb8b60e33a9b85ee3f6b7fa7f8f6691fad73234ef228ec529aaad0e8ad9eb07f0bdb9d08a560103af3cb377fd11765436 SHA512 077eec3cc69b021966d4545f408a7444136cedb8be1dbae96fb1ce94d9bcd3a1db3bf4ea1bed8999088b24f7e2ed333d1166fe39bf974f32772b8c8f6fde707c diff --git a/net-analyzer/darkstat/darkstat-3.0.721-r1.ebuild b/net-analyzer/darkstat/darkstat-3.0.721-r1.ebuild new file mode 100644 index 000000000000..84ae0cb8b98a --- /dev/null +++ b/net-analyzer/darkstat/darkstat-3.0.721-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Network traffic analyzer with cute web interface" +HOMEPAGE="https://unix4lyfe.org/darkstat/" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/emikulic/darkstat" + inherit git-r3 +else + SRC_URI="https://github.com/emikulic/darkstat/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ppc x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +DEPEND="acct-user/darkstat + dev-libs/libbsd + net-libs/libpcap + virtual/zlib:=" +RDEPEND="${DEPEND}" + +DARKSTAT_CHROOT_DIR=${DARKSTAT_CHROOT_DIR:-/var/lib/darkstat} + +DOCS=( AUTHORS ChangeLog README.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.719-strncpy-off-by-one.patch +) + +src_prepare() { + default + + sed -i \ + -e '/-DNDEBUG/d' \ + -e 's|-flto||g' \ + configure.ac || die + + eautoreconf +} + +src_configure() { + econf --with-privdrop-user=darkstat +} + +src_install() { + default + + newinitd "${FILESDIR}"/darkstat-initd darkstat + newconfd "${FILESDIR}"/darkstat-confd darkstat + + sed -i -e "s:__CHROOT__:${DARKSTAT_CHROOT_DIR}:g" "${D}"/etc/conf.d/darkstat || die + sed -i -e "s:__CHROOT__:${DARKSTAT_CHROOT_DIR}:g" "${D}"/etc/init.d/darkstat || die + + keepdir "${DARKSTAT_CHROOT_DIR}" + fowners darkstat:0 "${DARKSTAT_CHROOT_DIR}" +} + +pkg_postinst() { + elog "To start different darkstat instances which will listen on a different" + elog "interface, create within the ${EROOT}/etc/init.d directory a 'darkstat.if' symlink to" + elog "darkstat script where 'if' is the name of the interface." + elog "Also in the ${EROOT}/etc/conf.d directory, copy darkstat to darkstat.if" + elog "and edit it to change default values." + elog + elog "darkstat's default chroot directory is: ${EROOT}/var/lib/darkstat." + elog "Please chown it to darkstat:0 (or a different directory if you change it)." +} diff --git a/net-analyzer/darkstat/darkstat-9999999.ebuild b/net-analyzer/darkstat/darkstat-9999999.ebuild new file mode 100644 index 000000000000..0814e036ed4c --- /dev/null +++ b/net-analyzer/darkstat/darkstat-9999999.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Network traffic analyzer with cute web interface" +HOMEPAGE="https://unix4lyfe.org/darkstat/" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/emikulic/darkstat" + inherit git-r3 +else + SRC_URI="https://github.com/emikulic/darkstat/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~ppc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +DEPEND="acct-user/darkstat + dev-libs/libbsd + net-libs/libpcap + virtual/zlib:=" +RDEPEND="${DEPEND}" + +DARKSTAT_CHROOT_DIR=${DARKSTAT_CHROOT_DIR:-/var/lib/darkstat} + +DOCS=( AUTHORS ChangeLog README.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.719-strncpy-off-by-one.patch +) + +src_prepare() { + default + + sed -i \ + -e '/-DNDEBUG/d' \ + -e 's|-flto||g' \ + configure.ac || die + + eautoreconf +} + +src_configure() { + econf --with-privdrop-user=darkstat +} + +src_install() { + default + + newinitd "${FILESDIR}"/darkstat-initd darkstat + newconfd "${FILESDIR}"/darkstat-confd darkstat + + sed -i -e "s:__CHROOT__:${DARKSTAT_CHROOT_DIR}:g" "${D}"/etc/conf.d/darkstat || die + sed -i -e "s:__CHROOT__:${DARKSTAT_CHROOT_DIR}:g" "${D}"/etc/init.d/darkstat || die + + keepdir "${DARKSTAT_CHROOT_DIR}" + fowners darkstat:0 "${DARKSTAT_CHROOT_DIR}" +} + +pkg_postinst() { + # Workaround bug #141619 + DARKSTAT_CHROOT_DIR=$( + sed -n 's/^#CHROOT=\(.*\)/\1/p' "${EROOT}"/etc/conf.d/darkstat + ) + + if [[ -n "${DARKSTAT_CHROOT_DIR}" ]] && [[ "${DARKSTAT_CHROOT_DIR}" != "${EROOT:-/}" ]] ; then + chown darkstat:0 "${EROOT}/${DARKSTAT_CHROOT_DIR#/}/" + fi + + elog "To start different darkstat instances which will listen on a different" + elog "interface, create within the ${EROOT}/etc/init.d directory a 'darkstat.if' symlink to" + elog "darkstat script where 'if' is the name of the interface." + elog "Also in the ${EROOT}/etc/conf.d directory, copy darkstat to darkstat.if" + elog "and edit it to change default values." + elog + elog "darkstat's default chroot directory is: ${EROOT}/${DARKSTAT_CHROOT_DIR#/}" +} diff --git a/net-analyzer/darkstat/files/darkstat-3.0.719-strncpy-off-by-one.patch b/net-analyzer/darkstat/files/darkstat-3.0.719-strncpy-off-by-one.patch new file mode 100644 index 000000000000..cab429c0ecec --- /dev/null +++ b/net-analyzer/darkstat/files/darkstat-3.0.719-strncpy-off-by-one.patch @@ -0,0 +1,11 @@ +--- a/localip.c ++++ b/localip.c +@@ -58,7 +58,7 @@ + } else { + /* Warn about changed address. */ + if (!addr_equal(ips->addrs + *idx, a)) { +- static char before[INET6_ADDRSTRLEN]; ++ static char before[INET6_ADDRSTRLEN + 1]; + strncpy(before, addr_to_str(ips->addrs + *idx), INET6_ADDRSTRLEN); + verbosef("interface '%s' address %d/%d changed from %s to %s", + iface, *idx+1, ips->num_addrs, before, addr_to_str(a)); diff --git a/net-analyzer/darkstat/files/darkstat-confd b/net-analyzer/darkstat/files/darkstat-confd new file mode 100644 index 000000000000..89e349e68868 --- /dev/null +++ b/net-analyzer/darkstat/files/darkstat-confd @@ -0,0 +1,27 @@ +# The interface to listen on +# Use only with /etc/init.d/darkstat init script. If you use +# /etc/init.d/darkstat.if init script, then this option should be ignored. +#INTERFACE="eth0" + +# The port for the embedded webserver +#PORT="667" + +# The address the embedded webserver should bind to +#ADDRESS="0.0.0.0" + +# Set the filter. See tcpdump documentation for details. +#FILTER="" + +# Log daily traffic statistics into the named file, relative to the +# chroot directory (see, below). +#DAYLOGFILE="darkstat.log" + +# Other options: +DARKSTAT_OPTS="--no-promisc --no-dns --user darkstat" + +# The directory to which the program chroots after initialization. +# If you change this, please note the variable below and adjust +# the permissions accordingly. Note that if you want to use the +# --daylog option in EXTRAOPTS, the files are logged relative +# to the chroot-directory; see the man-page for details. +#CHROOT=__CHROOT__ diff --git a/net-analyzer/darkstat/files/darkstat-initd b/net-analyzer/darkstat/files/darkstat-initd new file mode 100644 index 000000000000..c362251dadc8 --- /dev/null +++ b/net-analyzer/darkstat/files/darkstat-initd @@ -0,0 +1,58 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +IF=${SVCNAME##*.} + +if [ -n "${IF}" -a "${SVCNAME}" != "darkstat" ] ; then + PIDFILE=/run/darkstat.${IF}.pid +else + PIDFILE=/run/darkstat.pid +fi + +depend() { + need net +} + +chkconfig() { + if [ -n "${IF}" -a "${SVCNAME}" != "darkstat" ] ; then + if [ ! -f "/etc/conf.d/darkstat.${IF}" ] ; then + einfo "It's possible to have distinct config in /etc/conf.d/darkstat.${IF}." + fi + INTERFACE=${IF} + else + if [ ! -f "/etc/conf.d/darkstat" ] ; then + ewarn "/etc/conf.d/darkstat does not exist. Falling on defaults." + fi + fi + + if [ -z "${INTERFACE}" ]; then + ewarn "No interface specified. Trying to use eth0." + INTERFACE="eth0" + fi + + DARK_OPTS="-i ${INTERFACE}" + [ -n "${PORT}" ] && DARK_OPTS="${DARK_OPTS} -p ${PORT}" + [ -n "${ADDRESS}" ] && DARK_OPTS="${DARK_OPTS} -b ${ADDRESS}" + [ -n "${DAYLOGFILE}" ] && DARK_OPTS="${DARK_OPTS} --daylog ${DAYLOGFILE}" + + return 0 +} + +start() { + chkconfig || return 1 + + # If ${PIDFILE} exist darkstat fails to start + [ -f ${PIDFILE} ] && rm ${PIDFILE} + ebegin "Starting darkstat on ${INTERFACE}" + /sbin/start-stop-daemon --start --exec /usr/sbin/darkstat -- \ + --chroot "${CHROOT:-__CHROOT__}" --pidfile ${PIDFILE} \ + ${DARKSTAT_OPTS} ${DARK_OPTS} -f "${FILTER}" + eend $? +} + +stop() { + ebegin "Stopping darkstat on ${INTERFACE}" + /sbin/start-stop-daemon --stop --pidfile ${PIDFILE} + eend $? +} diff --git a/net-analyzer/darkstat/metadata.xml b/net-analyzer/darkstat/metadata.xml new file mode 100644 index 000000000000..7bff35633fef --- /dev/null +++ b/net-analyzer/darkstat/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + darkstat is a network statistics gatherer. It's a packet sniffer that + runs as a background process on a cable/DSL router, gathers all sorts of + statistics about network usage, and serves them over HTTP. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/dhcp_probe/Manifest b/net-analyzer/dhcp_probe/Manifest new file mode 100644 index 000000000000..5ed1a3a8246e --- /dev/null +++ b/net-analyzer/dhcp_probe/Manifest @@ -0,0 +1 @@ +DIST dhcp_probe-1.3.1.tar.gz 246238 BLAKE2B 86c079c4c7951f3a70ced20dbea5d4f0d716335d2f9a18b1b9986965ca0446b5a7b673c7e652405deceeef336218016418a86be1a76d452c7802061403a66e82 SHA512 1002683e6ceb3806289fa9e4879be3d957a9ddc42656d7114942708560f8efba0db058137e04cad092e5a083900987aa1f76c5a7c20db4b57c104dd6a6fcabb6 diff --git a/net-analyzer/dhcp_probe/dhcp_probe-1.3.1-r1.ebuild b/net-analyzer/dhcp_probe/dhcp_probe-1.3.1-r1.ebuild new file mode 100644 index 000000000000..4ccf2d977a28 --- /dev/null +++ b/net-analyzer/dhcp_probe/dhcp_probe-1.3.1-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="Discover DHCP and BootP servers on a directly-attached Ethernet network" +HOMEPAGE="https://www.net.princeton.edu/software/dhcp_probe/" +SRC_URI="https://www.net.princeton.edu/software/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + net-libs/libnet + net-libs/libpcap" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.1-respect-AR.patch + "${FILESDIR}"/${PN}-1.3.1-fix-configure-CPP.patch + "${FILESDIR}"/${PN}-1.3.1-gcc15.patch +) + +src_prepare() { + default + + # for AR patch + eautoreconf +} + +src_configure() { + # configure uses CPP + tc-export CPP + + use amd64 && append-cppflags -D__ARCH__=64 + + STRIP=true econf +} + +src_install() { + default + + dodoc extras/dhcp_probe.cf.sample "${FILESDIR}"/${PN}_mail + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-fix-configure-CPP.patch b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-fix-configure-CPP.patch new file mode 100644 index 000000000000..fa32f0f73164 --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-fix-configure-CPP.patch @@ -0,0 +1,26 @@ +Before this patch, with CPP exported: +``` +checking for inet_aton function prototype in arpa/inet.h... ./configure: 6386: CPP: not found +checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E +./configure: 6512: ac_fn_c_try_cpp: not found +./configure: 6512: ac_fn_c_try_cpp: not found +configure: error: in `/var/tmp/portage/net-analyzer/dhcp_probe-1.3.1/work/dhcp_probe-1.3.1': +configure: error: C preprocessor "x86_64-pc-linux-gnu-gcc -E" fails sanity check +See `config.log' for more details +``` + +... and unexported: +``` +checking for inet_aton function prototype in arpa/inet.h... ./configure: 6386: CPP: not found +[... continues without dying ...] +``` +--- a/configure.ac ++++ b/configure.ac +@@ -16,6 +16,7 @@ dnl Checks for programs. + AC_PROG_CC + AC_PROG_RANLIB + AM_PROG_AR ++AC_PROG_CPP + + dnl ########################################################################## + diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-gcc15.patch b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-gcc15.patch new file mode 100644 index 000000000000..30ef8ab179f1 --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-gcc15.patch @@ -0,0 +1,14 @@ +Fix build with GCC 15 +https://bugs.gentoo.org/945196 + +--- a/src/report.c ++++ b/src/report.c +@@ -253,8 +253,6 @@ get_errmsg() + { + /* Return pointer to static string which gives full filesystem error message. + */ +- extern int errno; +- extern char *strerror(); + + return strerror(errno); + } diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-respect-AR.patch b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-respect-AR.patch new file mode 100644 index 000000000000..da32b63718ac --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe-1.3.1-respect-AR.patch @@ -0,0 +1,10 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,7 @@ dnl ########################################################################## + dnl Checks for programs. + AC_PROG_CC + AC_PROG_RANLIB ++AM_PROG_AR + + dnl ########################################################################## + diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe.confd b/net-analyzer/dhcp_probe/files/dhcp_probe.confd new file mode 100644 index 000000000000..62652eac45d3 --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe.confd @@ -0,0 +1,9 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Config file for /etc/init.d/dhcp_probe + +# For more information, see dhcp_probe(8). + +DHCP_PROBE_OPTIONS="-d 1" + diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe.initd b/net-analyzer/dhcp_probe/files/dhcp_probe.initd new file mode 100644 index 000000000000..24d09fbc7116 --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe.initd @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="reload" + +DHCP_PROBE_BINARY="/usr/sbin/dhcp_probe" +DHCP_PROBE_CONFIG="/etc/dhcp_probe.cf" +DHCP_PROBE_PIDFILE="/var/run/${SVCNAME}.pid" +DHCP_PROBE_INTERFACE="${SVCNAME#*.}" + +depend() { + use logger + need net +} + +checkconfig() { + if [ ! -e ${DHCP_PROBE_CONFIG} ]; then + eerror "You need an ${DHCP_PROBE_CONFIG} to run dhcp_probe." + eerror "A sample file is available in /usr/share/doc/dhcp_probe*" + return 1 + elif [ ${SVCNAME} = dhcp_probe ]; then + eerror "Do not run this script directly! Instead, create symbolic links like so:" + eerror " # cd /etc/init.d" + eerror " # ln -s dhcp_probe dhcp_probe.[INTERFACE_NAME]" + eerror "for each interface that should be monitored" + return 1 + fi +} + +start() { + checkconfig + ebegin "Starting ${SVCNAME}" + ${DHCP_PROBE_BINARY} ${DHCP_PROBE_OPTIONS} -p ${DHCP_PROBE_PIDFILE} ${DHCP_PROBE_INTERFACE} + eend ${?} +} + +stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --signal 9 \ + --pidfile ${DHCP_PROBE_PIDFILE} + eend ${?} +} + diff --git a/net-analyzer/dhcp_probe/files/dhcp_probe_mail b/net-analyzer/dhcp_probe/files/dhcp_probe_mail new file mode 100644 index 000000000000..58b07766bbb3 --- /dev/null +++ b/net-analyzer/dhcp_probe/files/dhcp_probe_mail @@ -0,0 +1,23 @@ +#!/bin/bash +# Old style alert program: +# +# Syntax: +# alert_program_name /absolute/path/name +# +# The program specified via 'alert_program_name' will be called as follows: +# /absolute/path/name name_of_calling_program name_of_interface_on_which_the +#_response_was_received IP_source_of_the_response ether_src_of_the_response + +DHCP_PROBE_DOMAIN=$(dnsdomainname) + +sendmail root <<EOF +From: root@${DHCP_PROBE_DOMAIN} +Subject: $1 ALERT - $3 is acting as a DHCP server + +Called program: $0 +Calling program: $1 +Interface on which response was received: $2 +IP source of the response: $3 +Ethernet source of the response: $4 + +EOF diff --git a/net-analyzer/dhcp_probe/metadata.xml b/net-analyzer/dhcp_probe/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/dhcp_probe/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/dhcpdump/Manifest b/net-analyzer/dhcpdump/Manifest new file mode 100644 index 000000000000..0824b01fbb61 --- /dev/null +++ b/net-analyzer/dhcpdump/Manifest @@ -0,0 +1 @@ +DIST dhcpdump-1.9.tar.xz 11520 BLAKE2B a1749a27695aa88dbac46062ed67a45ea2dba500e56220d6f200c92e7ea379d085150c32d1499d4209b1fd774ad7a517f4e49a6221dfce066691077808100abb SHA512 352737e4e4ecc0d3ca80f881b09981bd3998d42f0141fc71f429d99057f49bdeb233ea64888b603470424f99eabd2575d2d92945dd7f606875ec5bc3b6efe7f4 diff --git a/net-analyzer/dhcpdump/dhcpdump-1.9.ebuild b/net-analyzer/dhcpdump/dhcpdump-1.9.ebuild new file mode 100644 index 000000000000..21abe636b329 --- /dev/null +++ b/net-analyzer/dhcpdump/dhcpdump-1.9.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="DHCP Packet Analyzer/tcpdump postprocessor" +HOMEPAGE="https://github.com/bbonev/dhcpdump https://www.mavetju.org/unix/general.php" +SRC_URI="https://github.com/bbonev/${PN}/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 arm ~mips x86" + +# for pod2man +BDEPEND="dev-lang/perl" +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" + +src_compile() { + tc-export CC + emake +} + +src_install() { + dobin ${PN} + doman ${PN}.8 + einstalldocs +} diff --git a/net-analyzer/dhcpdump/metadata.xml b/net-analyzer/dhcpdump/metadata.xml new file mode 100644 index 000000000000..a39dfcb57a17 --- /dev/null +++ b/net-analyzer/dhcpdump/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + This command parses the output of tcpdump to display the + dhcp-packets for easier checking and debugging. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/dnsmap/Manifest b/net-analyzer/dnsmap/Manifest new file mode 100644 index 000000000000..fe087b1eb9a2 --- /dev/null +++ b/net-analyzer/dnsmap/Manifest @@ -0,0 +1 @@ +DIST dnsmap-0.36.tar.gz 73782 BLAKE2B 94d6aa024979805c81dc5160b213a9e32297283f6b35f91e8eb376db83b5f3627783491530a89d24bbba740ba48870b0073910a1773242f0caedfcfd71e93ef2 SHA512 60f0602314ea6f2b8c16bda1d1d47110c4b2a16f32174882e4406b4ccece39001527337f6ba40da65524287d005c1611e4c14e6a1ec99b25e50f4a20c7e6577f diff --git a/net-analyzer/dnsmap/dnsmap-0.36.ebuild b/net-analyzer/dnsmap/dnsmap-0.36.ebuild new file mode 100644 index 000000000000..ccfe8b6421d6 --- /dev/null +++ b/net-analyzer/dnsmap/dnsmap-0.36.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Scan for subdomains using bruteforcing techniques" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/dnsmap" +SRC_URI="https://github.com/resurrecting-open-source-projects/dnsmap/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DOCS=( + CONTRIBUTING.md + ChangeLog + NEWS + README.md + TODO + doc/CREDITS.old +) + +src_prepare() { + default + + eautoreconf +} diff --git a/net-analyzer/dnsmap/metadata.xml b/net-analyzer/dnsmap/metadata.xml new file mode 100644 index 000000000000..011d298371ee --- /dev/null +++ b/net-analyzer/dnsmap/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/dnstracer/Manifest b/net-analyzer/dnstracer/Manifest new file mode 100644 index 000000000000..fcc834eb16f2 --- /dev/null +++ b/net-analyzer/dnstracer/Manifest @@ -0,0 +1 @@ +DIST dnstracer-1.10.tar.gz 19169 BLAKE2B 8d549f7968b313778f4ee28a5dae0d782b23ff6ce874d343c079c178e9e7516d37af61c14ac6d4f00888dffa98f50768acd2d3fa2d221358d4db8aea82bc830f SHA512 8174f92c5c1b300c1011a24f0cf2f16dc2b52a082729e52d1033a047e20d132d6005b89618ecbbd25cbdc1c95cdc0748cf666bdc56b769b240d8885469bc6e05 diff --git a/net-analyzer/dnstracer/dnstracer-1.10.ebuild b/net-analyzer/dnstracer/dnstracer-1.10.ebuild new file mode 100644 index 000000000000..4477a4eddc2d --- /dev/null +++ b/net-analyzer/dnstracer/dnstracer-1.10.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Determines where a given nameserver gets its information from" +HOMEPAGE="https://www.mavetju.org/unix/general.php" +SRC_URI="https://www.mavetju.org/download/${P}.tar.bz2 -> ${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 arm ~hppa ~ppc ppc64 ~s390 ~sparc x86" + +BDEPEND="dev-lang/perl" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9-argv0.patch +) + +src_compile() { + emake CC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" +} + +src_install() { + dobin ${PN} + doman ${PN}.8 + + dodoc CHANGES CONTACT README +} diff --git a/net-analyzer/dnstracer/files/dnstracer-1.9-argv0.patch b/net-analyzer/dnstracer/files/dnstracer-1.9-argv0.patch new file mode 100644 index 000000000000..c83c38ea7d74 --- /dev/null +++ b/net-analyzer/dnstracer/files/dnstracer-1.9-argv0.patch @@ -0,0 +1,11 @@ +--- a/dnstracer.c ++++ b/dnstracer.c +@@ -1619,7 +1619,7 @@ + if (argv[0] == NULL) usage(); + + // check for a trailing dot +- strcpy(argv0, argv[0]); ++ strncpy(argv0, argv[0], NS_MAXDNAME); + if (argv0[strlen(argv[0]) - 1] == '.') argv0[strlen(argv[0]) - 1] = 0; + + printf("Tracing to %s[%s] via %s, maximum of %d retries\n", diff --git a/net-analyzer/dnstracer/metadata.xml b/net-analyzer/dnstracer/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/dnstracer/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/driftnet/Manifest b/net-analyzer/driftnet/Manifest new file mode 100644 index 000000000000..5b64cd15e699 --- /dev/null +++ b/net-analyzer/driftnet/Manifest @@ -0,0 +1,3 @@ +DIST driftnet-1.3.0.tar.gz 4971618 BLAKE2B 1cf0a46caac2267c093bf21a0d8e150518dbfe0e76acbe21ef87cd760ccbe964313116ee24d25ad7759b3eeba19ef7925200caee4fd06bb28f9836217d889256 SHA512 45f1016a850cf9e5e294756e47e40eccb13f57a316ae7fa885eac2d5e53f68b9d9ef86868415eca76b108f7aa1f4080c550a91f789265edb0f6e3a55e05f5f0c +DIST driftnet-1.5.0.tar.gz 5691414 BLAKE2B 6bab227ff730d760a2b4c31cd7b6bf41d61bcb7529c844ba1aee071aeaaa0de43d25f32b73c1423bd13d7d87db69ea0d4a5640fdeb507c7cfa6e7380061147fc SHA512 453329abb6f1a2d9538fa3bea788cc7bec142563e66f832aa11b3a935ac4f092779af6fce64e93959f6c5520d817cff74d80e449275fcbb02ac45d247743df73 +DIST driftnet-1.6.0.tar.gz 5772879 BLAKE2B 9d70917a29a830fc8e3afdec0032cbe39bb8cfa1d101bd41473a77e4b63ee2263a4c40db92d9cc8c314ecd117f9fc514c1f55f8750bfbfdd88e31613232f66b7 SHA512 4a381079dbbc3c343fbdf4421ed3ed257e7f4acf1e79be6eeafa702ccf61423404645745f4cc6f6e25b230d0bd0e587b4be64d7066cf827a17225a75a44cb187 diff --git a/net-analyzer/driftnet/driftnet-1.3.0.ebuild b/net-analyzer/driftnet/driftnet-1.3.0.ebuild new file mode 100644 index 000000000000..273225a06c40 --- /dev/null +++ b/net-analyzer/driftnet/driftnet-1.3.0.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools fcaps + +DESCRIPTION="Watches network traffic and displays media from TCP streams observed" +HOMEPAGE="http://www.ex-parrot.com/~chris/driftnet/" +SRC_URI="https://github.com/deiv/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="amd64 ~arm64 ppc -sparc x86" +SLOT="0" +IUSE="debug gtk suid test" + +RDEPEND=" + net-libs/libpcap + net-libs/libwebsockets:=[client,http-proxy,socks5] + gtk? ( + media-libs/giflib:= + media-libs/libpng:= + virtual/jpeg:0 + x11-libs/gtk+:2 + ) +" +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka ) +" +RESTRICT="!test? ( test )" +DOCS=" + Changelog CREDITS README.md TODO +" +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-CFLAGS.patch + "${FILESDIR}"/${PN}-1.3.0-gtk.patch + "${FILESDIR}"/${PN}-1.3.0-musl-stdint.patch + "${FILESDIR}"/${PN}-1.3.0-libwebsocket_compat.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf $(use_enable gtk display) +} + +src_install() { + default + + gzip -d "${ED}"/usr/share/man/man1/${PN}.1.gz || die + + if use suid ; then + elog "marking the no-display driftnet as setuid root." + fowners root:wheel "/usr/bin/driftnet" + fperms 710 "/usr/bin/driftnet" + fperms u+s "/usr/bin/driftnet" + fi +} + +pkg_postinst() { + fcaps \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/driftnet +} diff --git a/net-analyzer/driftnet/driftnet-1.5.0.ebuild b/net-analyzer/driftnet/driftnet-1.5.0.ebuild new file mode 100644 index 000000000000..3d673bf6ed90 --- /dev/null +++ b/net-analyzer/driftnet/driftnet-1.5.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fcaps + +DESCRIPTION="Watches network traffic and displays media from TCP streams observed" +HOMEPAGE="https://chris.ex-parrot.com/driftnet/" +SRC_URI="https://github.com/deiv/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ppc -sparc x86" +IUSE="debug gtk httpd suid test" +RESTRICT="!test? ( test )" + +RDEPEND=" + net-libs/libpcap + media-libs/libwebp:= + gtk? ( + dev-libs/glib:2 + media-libs/giflib:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/cairo + x11-libs/gtk+:3[X] + ) + httpd? ( net-libs/libwebsockets:=[client,http-proxy,socks5] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.0-CFLAGS.patch + # merged in 1.6.0 + "${FILESDIR}"/${PN}-1.5.0-missing_else.patch + # https://github.com/deiv/driftnet/pull/56.patch + "${FILESDIR}"/${PN}-1.5.0-fix_test.patch + "${FILESDIR}"/${PN}-1.5.0-use_uint.patch + # https://github.com/deiv/driftnet/pull/57.patch + "${FILESDIR}"/${PN}-1.5.0-libwebsocket_compat.patch +) + +FILECAPS=( cap_dac_read_search,cap_net_raw,cap_net_admin usr/bin/driftnet ) + +# EXTRA_DIST +DOCS=( Changelog CREDITS ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable gtk display) + $(use_enable httpd http-display) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + gzip -d "${ED}"/usr/share/man/man1/${PN}.1.gz || die + + if use suid ; then + elog "marking driftnet as setuid root." + fowners root:wheel "/usr/bin/driftnet" + fperms 710 "/usr/bin/driftnet" + fperms u+s "/usr/bin/driftnet" + fi +} diff --git a/net-analyzer/driftnet/driftnet-1.6.0.ebuild b/net-analyzer/driftnet/driftnet-1.6.0.ebuild new file mode 100644 index 000000000000..cdcb75f4f5b9 --- /dev/null +++ b/net-analyzer/driftnet/driftnet-1.6.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fcaps + +DESCRIPTION="Watches network traffic and displays media from TCP streams observed" +HOMEPAGE="https://chris.ex-parrot.com/driftnet/" +SRC_URI="https://github.com/deiv/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ppc -sparc x86" +IUSE="debug gtk httpd suid test" +RESTRICT="!test? ( test )" + +RDEPEND=" + net-libs/libpcap + media-libs/libwebp:= + gtk? ( + dev-libs/glib:2 + media-libs/giflib:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/cairo + x11-libs/gtk+:3[X] + ) + httpd? ( net-libs/libwebsockets:=[client,http-proxy,socks5] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + # Respect user flags + "${FILESDIR}"/${PN}-1.6.0-CFLAGS.patch + # https://github.com/deiv/driftnet/pull/56.patch + "${FILESDIR}"/${PN}-1.5.0-fix_test.patch + "${FILESDIR}"/${PN}-1.5.0-use_uint.patch + # https://github.com/deiv/driftnet/pull/57.patch + "${FILESDIR}"/${PN}-1.5.0-libwebsocket_compat.patch +) + +FILECAPS=( cap_dac_read_search,cap_net_raw,cap_net_admin usr/bin/driftnet ) + +# EXTRA_DIST +DOCS=( Changelog CREDITS ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable gtk display) + $(use_enable httpd http-display) + --htmldir="${EPREFIX}"/usr/share/driftnet/static-html + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + gzip -d "${ED}"/usr/share/man/man1/${PN}.1.gz || die + + if use suid ; then + elog "marking driftnet as setuid root." + fowners root:wheel "/usr/bin/driftnet" + fperms 710 "/usr/bin/driftnet" + fperms u+s "/usr/bin/driftnet" + fi +} diff --git a/net-analyzer/driftnet/files/driftnet-1.3.0-CFLAGS.patch b/net-analyzer/driftnet/files/driftnet-1.3.0-CFLAGS.patch new file mode 100644 index 000000000000..2b25ed45833a --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.3.0-CFLAGS.patch @@ -0,0 +1,21 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -68,12 +68,12 @@ + , + [enable_debug=yes]) + +-if test "x$enable_debug" = xyes; then +- CFLAGS="-O2 -g -DDEBUG" +-else +- CFLAGS="-O2 -DNDEBUG" +-fi +-#AM_CONDITIONAL(ENABLE_DEBUG, test "$enable_debug" = "yes") ++#if test "x$enable_debug" = xyes; then ++# CFLAGS="-O2 -g -DDEBUG" ++#else ++# CFLAGS="-O2 -DNDEBUG" ++#fi ++AM_CONDITIONAL(ENABLE_DEBUG, test "$enable_debug" = "yes") + + # + # Checks for programs. diff --git a/net-analyzer/driftnet/files/driftnet-1.3.0-gtk.patch b/net-analyzer/driftnet/files/driftnet-1.3.0-gtk.patch new file mode 100644 index 000000000000..2a8a294e8dbe --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.3.0-gtk.patch @@ -0,0 +1,13 @@ +--- a/src/options.h ++++ b/src/options.h +@@ -32,10 +32,8 @@ + char *audio_mpeg_player; + int mpeg_player_specified; + int newpfx; +-#ifndef NO_DISPLAY_WINDOW + char *savedimgpfx; + int enable_gtk_display; +-#endif + char *drop_username; + int list_interfaces; + int monitor_mode; diff --git a/net-analyzer/driftnet/files/driftnet-1.3.0-libwebsocket_compat.patch b/net-analyzer/driftnet/files/driftnet-1.3.0-libwebsocket_compat.patch new file mode 100644 index 000000000000..936dd10474a1 --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.3.0-libwebsocket_compat.patch @@ -0,0 +1,31 @@ +fix arguments to build with libwebsockets:0/20 +https://bugs.gentoo.org/962581 +PR pending for driftnet-1.5.0 uses another schema +https://github.com/deiv/driftnet/pull/57.patch +--- a/src/http_display/httpd.c ++++ b/src/http_display/httpd.c +@@ -188,10 +188,22 @@ static void * http_server_dispatch(void *arg) + 0, + 0, + 0, +- LWSMPRO_FILE, /* mount type is a directory in a filesystem */ ++#if LWS_LIBRARY_VERSION_MAJOR >= 4 && LWS_LIBRARY_VERSION_MINOR > 3 ++ 0, /* check cache always */ ++#endif ++ LWSMPRO_FILE, /* mount type is a directory in a filesystem */ + 1, /* strlen("/"), ie length of the mountpoint */ + NULL, +- { NULL, NULL } // sentinel ++#if LWS_LIBRARY_VERSION_MAJOR >= 4 && LWS_LIBRARY_VERSION_MINOR > 3 ++ NULL, /* chroot_path */ ++ NULL, /* working directory, default /tmp */ ++ NULL, /* override the headers */ ++ 0, /* keepalive_timeout */ ++#endif ++#if LWS_LIBRARY_VERSION_MAJOR <= 4 && LWS_LIBRARY_VERSION_MINOR < 3 ++ NULL, /* sentinel */ ++ NULL, /* sentinel */ ++#endif + }; + + memset(&info, 0, sizeof info); diff --git a/net-analyzer/driftnet/files/driftnet-1.3.0-musl-stdint.patch b/net-analyzer/driftnet/files/driftnet-1.3.0-musl-stdint.patch new file mode 100644 index 000000000000..7261bbc80e16 --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.3.0-musl-stdint.patch @@ -0,0 +1,113 @@ +https://bugs.gentoo.org/832419 +--- a/src/media/image.c ++++ b/src/media/image.c +@@ -11,6 +11,7 @@ + + #include <stdio.h> + #include <stdlib.h> /* On many systems (Darwin...), stdio.h is a prerequisite. */ ++#include <stdint.h> + #include <string.h> + + #include <netinet/in.h> /* ntohl */ +@@ -288,7 +289,7 @@ unsigned char *find_jpeg_image(const unsigned char *data, const size_t len, unsi + unsigned char *find_png_eoi(unsigned char *buffer, const size_t len) { + unsigned char *end_data, *data, chunk_code[PNG_CODE_LEN + 1]; + struct png_chunk chunk; +- u_int32_t datalen; ++ uint32_t datalen; + + /* Move past the PNG header */ + data = (buffer + PNG_SIG_LEN); +--- a/src/network/layer2.c ++++ b/src/network/layer2.c +@@ -12,6 +12,7 @@ + + #include "compat/compat.h" + ++#include <stdint.h> + #include <string.h> + + #ifdef __FreeBSD__ +@@ -39,7 +40,7 @@ + struct ethhdr { + unsigned char h_dest[ETH_ALEN]; + unsigned char h_source[ETH_ALEN]; +- u_int16_t h_proto; ++ uint16_t h_proto; + } __attribute__((packed)); + #endif + +@@ -55,20 +56,20 @@ struct ethhdr { + #endif + + struct ieee80211_radiotap_header { +- u_int8_t it_version; /* set to 0 */ +- u_int8_t it_pad; +- u_int16_t it_len; /* entire length */ +- u_int32_t it_present; /* fields present */ ++ uint8_t it_version; /* set to 0 */ ++ uint8_t it_pad; ++ uint16_t it_len; /* entire length */ ++ uint32_t it_present; /* fields present */ + }; + + struct ieee80211_frame { +- u_int16_t fc; +- u_int16_t wi_duration; +- u_int8_t wi_add1[6]; +- u_int8_t wi_add2[6]; +- u_int8_t wi_add3[6]; +- u_int16_t wi_sequenceControl; +- // u_int8_t wi_add4[6]; ++ uint16_t fc; ++ uint16_t wi_duration; ++ uint8_t wi_add1[6]; ++ uint8_t wi_add2[6]; ++ uint8_t wi_add3[6]; ++ uint16_t wi_sequenceControl; ++ // uint8_t wi_add4[6]; + //unsigned int qosControl:2; + //unsigned int frameBody[23124]; + }; +@@ -89,13 +90,13 @@ struct frame_control { + + /* SNAP LLC header format */ + struct snap_header { +- u_int8_t dsap; +- u_int8_t ssap; +- u_int8_t ctl; +- u_int8_t org1; +- u_int8_t org2; +- u_int8_t org3; +- u_int16_t ether_type; /* ethernet type */ ++ uint8_t dsap; ++ uint8_t ssap; ++ uint8_t ctl; ++ uint8_t org1; ++ uint8_t org2; ++ uint8_t org3; ++ uint16_t ether_type; /* ethernet type */ + }; + + /* +--- a/src/network/layer3.c ++++ b/src/network/layer3.c +@@ -12,6 +12,7 @@ + + #include "compat/compat.h" + ++#include <stdint.h> + #include <string.h> + #include <assert.h> + +@@ -30,8 +31,8 @@ + int layer3_find_tcp(const u_char *pkt, uint8_t nextproto, int * offset, + struct sockaddr * src, struct sockaddr * dst, struct tcphdr * tcp) + { +- u_int16_t *sport = NULL; +- u_int16_t *dport = NULL; ++ uint16_t *sport = NULL; ++ uint16_t *dport = NULL; + + while (1) { + switch (nextproto) { diff --git a/net-analyzer/driftnet/files/driftnet-1.5.0-CFLAGS.patch b/net-analyzer/driftnet/files/driftnet-1.5.0-CFLAGS.patch new file mode 100644 index 000000000000..31f95ba00eda --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.5.0-CFLAGS.patch @@ -0,0 +1,15 @@ +do not erase userflags +--- a/configure.ac ++++ b/configure.ac +@@ -81,9 +81,9 @@ AC_ARG_ENABLE([debug], + [enable_debug=yes]) + + if test "x$enable_debug" = xyes; then +- CFLAGS="-O2 -g -DDEBUG" ++ CFLAGS="-g -DDEBUG $CFLAGS" + else +- CFLAGS="-O2 -DNDEBUG" ++ CFLAGS="-DNDEBUG $CFLAGS" + fi + #AM_CONDITIONAL(ENABLE_DEBUG, test "$enable_debug" = "yes") + diff --git a/net-analyzer/driftnet/files/driftnet-1.5.0-fix_test.patch b/net-analyzer/driftnet/files/driftnet-1.5.0-fix_test.patch new file mode 100644 index 000000000000..8853a5009120 --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.5.0-fix_test.patch @@ -0,0 +1,22 @@ +PR pending, commit to fix incompatible-pointer-types and missing include +https://github.com/deiv/driftnet/pull/56.patch +--- a/src/media/tests/test_unit.c ++++ b/src/media/tests/test_unit.c +@@ -7,6 +7,8 @@ + * + */ + ++#include "compat/compat.h" ++ + #include <stdarg.h> + #include <stddef.h> + #include <setjmp.h> +@@ -227,7 +229,7 @@ void test_dont_parse_other_formats(void** state) + } + } + +-void test_correct_media_drivers_for_mediatype_count() ++void test_correct_media_drivers_for_mediatype_count(void **state) + { + drivers_t* image_drivers = NULL; + drivers_t* audio_drivers = NULL; diff --git a/net-analyzer/driftnet/files/driftnet-1.5.0-libwebsocket_compat.patch b/net-analyzer/driftnet/files/driftnet-1.5.0-libwebsocket_compat.patch new file mode 100644 index 000000000000..e7d8a2c77864 --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.5.0-libwebsocket_compat.patch @@ -0,0 +1,36 @@ +PR pending : switch to a simplified configuration for httpd +fix build with libwebsockets:0/20 #821427 +https://github.com/deiv/driftnet/pull/57.patch +--- a/src/http_display/httpd.c ++++ b/src/http_display/httpd.c +@@ -175,26 +175,10 @@ static void * http_server_dispatch(void *arg) + }; + + const struct lws_http_mount mount = { +- (struct lws_http_mount *)NULL, /* linked-list pointer to next*/ +- "/", /* mountpoint in URL namespace on this vhost */ +- server_root, /* where to go on the filesystem for that */ +- "index.html", /* default filename if none given */ +- NULL, +- NULL, +- mime_types, +- NULL, +- 0, +- 0, +- 0, +- 0, +- 0, +- 0, +- LWSMPRO_FILE, /* mount type is a directory in a filesystem */ +- 1, /* strlen("/"), ie length of the mountpoint */ +- NULL, +-#if LWS_LIBRARY_VERSION_MAJOR <= 4 && LWS_LIBRARY_VERSION_MINOR < 3 +- { NULL, NULL } // sentinel +-#endif ++ .mountpoint = "/", ++ .origin = server_root, ++ .origin_protocol = LWSMPRO_FILE, ++ .mountpoint_len = 1, + }; + + memset(&info, 0, sizeof info); diff --git a/net-analyzer/driftnet/files/driftnet-1.5.0-missing_else.patch b/net-analyzer/driftnet/files/driftnet-1.5.0-missing_else.patch new file mode 100644 index 000000000000..45d5088f4ba0 --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.5.0-missing_else.patch @@ -0,0 +1,17 @@ +Origin: https://github.com/deiv/driftnet/pull/50 +From: Bastian Germann <bage@debian.org> +Date: Sat, 7 Oct 2023 15:06:52 +0200 +Subject: Recover else clause in endianess if + +The else clause was included in the inner (GTK3) if clause in +465a1ff68a (Add RGB byte ordering implementation in PEL related macros). +--- a/src/display/img.h ++++ b/src/display/img.h +@@ -69,6 +69,7 @@ typedef uint32_t pel; + # define GETB(p) ((chan)(((p) & (pel)0xff000000) >> 24)) + # define GETA(p) ((chan)(((p) & (pel)0x000000ff) )) + #endif ++#else + # error "no endianness defined" + #endif + diff --git a/net-analyzer/driftnet/files/driftnet-1.5.0-use_uint.patch b/net-analyzer/driftnet/files/driftnet-1.5.0-use_uint.patch new file mode 100644 index 000000000000..076f000cb54e --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.5.0-use_uint.patch @@ -0,0 +1,89 @@ +PR pending, selected commit to use standard uint* instead of u_int* +thus fix building w/ musl. rebased for 1.5.0 +https://github.com/deiv/driftnet/pull/56.patch +--- a/src/media/image.c ++++ b/src/media/image.c +@@ -290,7 +290,7 @@ unsigned char *find_jpeg_image(const unsigned char *data, const size_t len, unsi + unsigned char *find_png_eoi(unsigned char *buffer, const size_t len) { + unsigned char *end_data, *data, chunk_code[PNG_CODE_LEN + 1]; + struct png_chunk chunk; +- u_int32_t datalen; ++ uint32_t datalen; + + /* Move past the PNG header */ + data = (buffer + PNG_SIG_LEN); +--- a/src/network/layer2.c ++++ b/src/network/layer2.c +@@ -39,7 +39,7 @@ + struct ethhdr { + unsigned char h_dest[ETH_ALEN]; + unsigned char h_source[ETH_ALEN]; +- u_int16_t h_proto; ++ uint16_t h_proto; + } __attribute__((packed)); + #endif + +@@ -55,19 +55,19 @@ struct ethhdr { + #endif + + struct ieee80211_radiotap_header { +- u_int8_t it_version; /* set to 0 */ +- u_int8_t it_pad; +- u_int16_t it_len; /* entire length */ +- u_int32_t it_present; /* fields present */ ++ uint8_t it_version; /* set to 0 */ ++ uint8_t it_pad; ++ uint16_t it_len; /* entire length */ ++ uint32_t it_present; /* fields present */ + }; + + struct ieee80211_frame { +- u_int16_t fc; +- u_int16_t wi_duration; +- u_int8_t wi_add1[6]; +- u_int8_t wi_add2[6]; +- u_int8_t wi_add3[6]; +- u_int16_t wi_sequenceControl; ++ uint16_t fc; ++ uint16_t wi_duration; ++ uint8_t wi_add1[6]; ++ uint8_t wi_add2[6]; ++ uint8_t wi_add3[6]; ++ uint16_t wi_sequenceControl; + // u_int8_t wi_add4[6]; + //unsigned int qosControl:2; + //unsigned int frameBody[23124]; +@@ -89,13 +89,13 @@ struct frame_control { + + /* SNAP LLC header format */ + struct snap_header { +- u_int8_t dsap; +- u_int8_t ssap; +- u_int8_t ctl; +- u_int8_t org1; +- u_int8_t org2; +- u_int8_t org3; +- u_int16_t ether_type; /* ethernet type */ ++ uint8_t dsap; ++ uint8_t ssap; ++ uint8_t ctl; ++ uint8_t org1; ++ uint8_t org2; ++ uint8_t org3; ++ uint16_t ether_type; /* ethernet type */ + }; + + /* +--- a/src/network/layer3.c ++++ b/src/network/layer3.c +@@ -30,8 +30,8 @@ + int layer3_find_tcp(const u_char *pkt, uint8_t nextproto, int * offset, + struct sockaddr * src, struct sockaddr * dst, struct tcphdr * tcp) + { +- u_int16_t *sport = NULL; +- u_int16_t *dport = NULL; ++ uint16_t *sport = NULL; ++ uint16_t *dport = NULL; + + while (1) { + switch (nextproto) { diff --git a/net-analyzer/driftnet/files/driftnet-1.6.0-CFLAGS.patch b/net-analyzer/driftnet/files/driftnet-1.6.0-CFLAGS.patch new file mode 100644 index 000000000000..af80103870ee --- /dev/null +++ b/net-analyzer/driftnet/files/driftnet-1.6.0-CFLAGS.patch @@ -0,0 +1,15 @@ +do not erase userflags +--- a/configure.ac ++++ b/configure.ac +@@ -80,9 +80,9 @@ + [enable_debug=yes]) + + if test "x$enable_debug" = xyes; then +- CFLAGS="-g -DDEBUG" ++ CFLAGS="-g -DDEBUG $CFLAGS" + else +- CFLAGS="-O2 -DNDEBUG" ++ CFLAGS="-DNDEBUG $CFLAGS" + fi + #AM_CONDITIONAL(ENABLE_DEBUG, test "$enable_debug" = "yes") + diff --git a/net-analyzer/driftnet/metadata.xml b/net-analyzer/driftnet/metadata.xml new file mode 100644 index 000000000000..a178046a1ae2 --- /dev/null +++ b/net-analyzer/driftnet/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="httpd">Enable the HTTP/WebSockets server to display images</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/dsniff/Manifest b/net-analyzer/dsniff/Manifest new file mode 100644 index 000000000000..4c2721d5038c --- /dev/null +++ b/net-analyzer/dsniff/Manifest @@ -0,0 +1,2 @@ +DIST dsniff_2.4b1+debian-34.debian.tar.xz 31148 BLAKE2B 09b605065d8e03ea5c2f9083420feca3a05d4453ca7a46f2886766f34aed23e3cb83d73f12dbb633c1142d187b66a5508b3c583582e1902d4957e3813ed9929a SHA512 f539d59d931acc7fba97f079a33301b415d6dc769bf2ca3f1b3bf0fcfdf9cfc3c2454e017f5c47d39bcc5f47b91f70f6e2abc8cdeae631aa72946eb84b6bebf5 +DIST dsniff_2.4b1+debian.orig.tar.gz 130220 BLAKE2B e6953a5bfc5331b030e1a5335987c51fa4cf2c644fc4e7ac9aefe17f52373a1f66ccef36c5d9136542f68a475350138b1f3e501bc9494a0fd4988c7c5a7b2eef SHA512 09c3a864f112f81b8fdf93436886b14eb8f603ec751b13f18cf027307f24098c018eacf98b3ae353731a0cf6f1c9cacfafbb534a0db8b9f0cc793e7515c41b5a diff --git a/net-analyzer/dsniff/dsniff-2.4_beta1_p34.ebuild b/net-analyzer/dsniff/dsniff-2.4_beta1_p34.ebuild new file mode 100644 index 000000000000..4aa1cdbcd003 --- /dev/null +++ b/net-analyzer/dsniff/dsniff-2.4_beta1_p34.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +MY_PV="${PV/_beta/b}" +MY_PV="${MY_PV/_p*/}" +MY_PV="$(ver_rs 1 '.' "${MY_PV}")" +# 2.4_beta1_p30 -> 2.4beta1-30 +MY_DEB_PV="$(ver_cut 1-2)$(ver_cut 3-4)-$(ver_cut 6)" + +DESCRIPTION="A collection of tools for network auditing and penetration testing" +HOMEPAGE="https://monkey.org/~dugsong/dsniff/" +SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${MY_PV}+debian.orig.tar.gz + mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${MY_PV}+debian-${PV/*_p}.debian.tar.xz" +S="${WORKDIR}/${P/_beta1*/}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="X" + +# There's a berkdb configure option but we get a build failure if +# we try to disable it. Not clear how useful the package is +# without it anyway. +RDEPEND=" + net-libs/libpcap + >=net-libs/libnet-1.1.2.1-r1 + >=net-libs/libnids-1.21 + net-libs/libnsl:= + net-libs/libtirpc:= + dev-libs/openssl:= + >=sys-libs/db-4:= + X? ( x11-libs/libXmu ) +" +DEPEND=" + ${DEPEND} + net-libs/rpcsvc-proto +" +# Calls rpcgen during build +BDEPEND="net-libs/rpcsvc-proto" + +PATCHES=( + "${WORKDIR}"/debian/patches/ + "${FILESDIR}"/${PN}-2.4_beta1_p30-httppostfix.patch + "${FILESDIR}"/${PN}-2.4_beta1_p30-libdir-configure.patch + "${FILESDIR}"/${PN}-2.4_beta1_p30-respect-AR.patch +) + +src_prepare() { + default + + mv configure.{in,ac} || die + eautoreconf +} + +src_configure() { + # bug #946622 + append-flags -std=gnu17 + # Opt_dns clash (not worth reporting/patching; we already have + # a huge heap of patches from Debian) + filter-lto + + tc-export AR + + econf \ + $(use_with X x) +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake install install_prefix="${D}" + + dodir /etc/dsniff + cp "${ED}"/usr/share/dsniff/{dnsspoof.hosts,dsniff.{magic,services}} \ + "${ED}"/etc/dsniff/ || die + dodoc CHANGES README TODO +} diff --git a/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-httppostfix.patch b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-httppostfix.patch new file mode 100644 index 000000000000..487e45321662 --- /dev/null +++ b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-httppostfix.patch @@ -0,0 +1,21 @@ +Allow mixed case in some fields. +--- a/decode_http.c ++++ b/decode_http.c +@@ -139,14 +139,14 @@ + host = p; + } + else if (req[0] == 'P') { +- if (strncmp(p, "Content-type: ", 14) == 0) { +- if (strncmp(p + 14, "application/" ++ if (strncasecmp(p, "Content-type: ", 14) == 0) { ++ if (strncasecmp(p + 14, "application/" + "x-www-form-urlencoded", + 33) != 0) { + query = NULL; + } + } +- else if (strncmp(p, "Content-length: ", 16) == 0) { ++ else if (strncasecmp(p, "Content-length: ", 16) == 0) { + p += 16; + i = atoi(p); + if ((msg = buf_tok(&inbuf, NULL, i)) == NULL) diff --git a/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-libdir-configure.patch b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-libdir-configure.patch new file mode 100644 index 000000000000..a2309cd836e8 --- /dev/null +++ b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-libdir-configure.patch @@ -0,0 +1,105 @@ +Respect libdir rather than always using 'lib'. +--- a/configure.in ++++ b/configure.in +@@ -127,13 +127,13 @@ AC_ARG_WITH(db, + if test -f ${dir}/include/db_185.h; then + AC_DEFINE(HAVE_DB_185_H) + DBINC="-I${dir}/include" +- DBLIB="-L${dir}/lib -ldb" ++ DBLIB="-L${dir}/${libdir#${prefix}} -ldb" + have_db=yes + break + elif test -f ${dir}/include/db.h; then + AC_DEFINE(HAVE_DB_H) + DBINC="-I${dir}/include" +- DBLIB="-L${dir}/lib -ldb" ++ DBLIB="-L${dir}/${libdir#${prefix}} -ldb" + have_db=yes + break + fi +@@ -178,11 +178,11 @@ AC_ARG_WITH(libpcap, + PCAPLIB="-L$withval -lpcap" + elif test -f $withval/include/pcap.h -a \ + -f $withval/include/net/bpf.h -a \ +- -f $withval/lib/libpcap.a; then ++ -f $withval/${libdir#${prefix}}/libpcap.a; then + owd=`pwd` + if cd $withval; then withval=`pwd`; cd $owd; fi + PCAPINC="-I$withval/include" +- PCAPLIB="-L$withval/lib -lpcap" ++ PCAPLIB="-L$withval/${libdir#${prefix}} -lpcap" + else + AC_ERROR(pcap.h, net/bpf.h, or libpcap.a not found in $withval) + fi +@@ -190,7 +190,7 @@ AC_ARG_WITH(libpcap, + esac ], + [ if test -f ${prefix}/include/pcap.h; then + PCAPINC="-I${prefix}/include" +- PCAPLIB="-L${prefix}/lib -lpcap" ++ PCAPLIB="-L${prefix}/${libdir#${prefix}} -lpcap" + elif test -f /usr/include/pcap/pcap.h; then + PCAPINC="-I/usr/include/pcap" + PCAPLIB="-lpcap" +@@ -226,7 +226,7 @@ AC_ARG_WITH(libnet, + CFLAGS="$CFLAGS `libnet-config --defines`" + fi + LNETINC="-I$withval/include" +- LNETLIB="-L$withval/lib -lnet" ++ LNETLIB="-L$withval/${libdir#${prefix}} -lnet" + else + AC_ERROR(libnet.h or libnet.a not found in $withval) + fi +@@ -235,7 +235,7 @@ AC_ARG_WITH(libnet, + [ if test -f ${prefix}/include/libnet.h; then + CFLAGS="$CFLAGS `${prefix}/bin/libnet-config --defines`" + LNETINC="-I${prefix}/include" +- LNETLIB="-L${prefix}/lib -lnet" ++ LNETLIB="-L${prefix}/${libdir#${prefix}} -lnet" + elif test -f /usr/include/libnet.h; then + CFLAGS="$CFLAGS `libnet-config --defines`" + LNETLIB="-lnet" +@@ -267,7 +267,7 @@ AC_ARG_WITH(libnids, + owd=`pwd` + if cd $withval; then withval=`pwd`; cd $owd; fi + NIDSINC="-I$withval/include" +- NIDSLIB="-L$withval/lib -lnids" ++ NIDSLIB="-L$withval/${libdir#${prefix}} -lnids" + else + AC_ERROR(nids.h or libnids.a not found in $withval) + fi +@@ -275,7 +275,7 @@ AC_ARG_WITH(libnids, + esac ], + [ if test -f ${prefix}/include/nids.h; then + NIDSINC="-I${prefix}/include" +- NIDSLIB="-L${prefix}/lib -lnids" ++ NIDSLIB="-L${prefix}/${libdir#${prefix}} -lnids" + elif test -f /usr/include/nids.h; then + NIDSLIB="-lnids" + else +@@ -309,11 +309,11 @@ AC_ARG_WITH(openssl, + SSLINC="-I$withval/include" + SSLLIB="-L$withval -lssl -lcrypto" + elif test -f $withval/include/openssl/ssl.h -a \ +- -f $withval/lib/libssl.a; then ++ -f $withval/${libdir#${prefix}}/libssl.a; then + owd=`pwd` + if cd $withval; then withval=`pwd`; cd $owd; fi + SSLINC="-I$withval/include" +- SSLLIB="-L$withval/lib -lssl -lcrypto" ++ SSLLIB="-L$withval/${libdir#${prefix}} -lssl -lcrypto" + else + AC_ERROR(ssl.h or libssl.a not found in $withval) + fi +@@ -322,10 +322,10 @@ AC_ARG_WITH(openssl, + esac ], + [ if test -f ${prefix}/include/openssl/ssl.h; then + SSLINC="-I${prefix}/include" +- SSLLIB="-L${prefix}/lib -lssl -lcrypto" ++ SSLLIB="-L${prefix}/${libdir#${prefix}} -lssl -lcrypto" + elif test -f ${prefix}/ssl/include/openssl/ssl.h; then + SSLINC="-I${prefix}/ssl/include" +- SSLLIB="-L${prefix}/ssl/lib -lssl -lcrypto" ++ SSLLIB="-L${prefix}/ssl/${libdir#${prefix}} -lssl -lcrypto" + elif test -f /usr/include/openssl/ssl.h; then + SSLLIB="-lssl -lcrypto" + else diff --git a/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-respect-AR.patch b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-respect-AR.patch new file mode 100644 index 000000000000..fd2235fada7d --- /dev/null +++ b/net-analyzer/dsniff/files/dsniff-2.4_beta1_p30-respect-AR.patch @@ -0,0 +1,22 @@ +Respect the 'AR' environment variable. +--- a/Makefile.in ++++ b/Makefile.in +@@ -103,7 +103,7 @@ $(LIBOBJS): + $(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -c $(srcdir)/missing/$*.c + + libmissing.a: $(LIBOBJS) +- ar -cr $@ $(LIBOBJS) ++ $(AR) -cr $@ $(LIBOBJS) + $(RANLIB) $@ + + dsniff: $(HDRS) $(SRCS) $(OBJS) libmissing.a +--- a/configure.in ++++ b/configure.in +@@ -17,6 +17,7 @@ dnl Checks for programs. + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_RANLIB ++AC_CHECK_PROG(AR,ar,ar) + + dnl Checks for header files. + AC_PATH_XTRA diff --git a/net-analyzer/dsniff/metadata.xml b/net-analyzer/dsniff/metadata.xml new file mode 100644 index 000000000000..ea5bf4bc8a43 --- /dev/null +++ b/net-analyzer/dsniff/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + dsniff is a collection of tools for network auditing and penetration testing. + dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a + network for interesting data (passwords, e-mail, files, etc.). arpspoof, + dnsspoof, and macof facilitate the interception of network traffic normally + unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm + implement active monkey-in-the-middle attacks against redirected SSH and HTTPS + sessions by exploiting weak bindings in ad-hoc PKI. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/etherape/Manifest b/net-analyzer/etherape/Manifest new file mode 100644 index 000000000000..8680e5082481 --- /dev/null +++ b/net-analyzer/etherape/Manifest @@ -0,0 +1,2 @@ +DIST etherape-0.9.20.tar.gz 1480790 BLAKE2B 22682d1b7b72206519d0ad32855f558a718bed83674753fcc923419845ac8b97ce970c1121f49eac9b910e10675b5397e5d3a16701af5bc9b78187baee455ccf SHA512 1dbfbb0efff7871a4b78ca90f81ac2155b57ace217b72e443cdc8b3d3807f7ab881c876bec12d93673500026a9dbf1111417a419891df62230e664af9b54b636 +DIST etherape-0.9.21.tar.gz 1505682 BLAKE2B 840a8ffb7173d85973f9ee42e2433020924682d11d4ad51de5ab90128bece92e3c1b682be90b87c6cf628f72dc41ddc6841e804ae947d0d286679729b26224d8 SHA512 0fccf216eff11aae69fa59da810f3c6364e0e94ea8ec538a73a9ba25d7f66d1269bfa7f55b94d5559098a036a4ba85910e373f2815da9f68252536a5e9a783ea diff --git a/net-analyzer/etherape/etherape-0.9.20.ebuild b/net-analyzer/etherape/etherape-0.9.20.ebuild new file mode 100644 index 000000000000..be8d1e3d9567 --- /dev/null +++ b/net-analyzer/etherape/etherape-0.9.20.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="A graphical network monitor for Unix modeled after etherman" +HOMEPAGE="https://etherape.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/etherape/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ppc ppc64 ~sparc x86" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/popt + net-libs/libpcap + x11-libs/goocanvas:2.0 +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + app-text/yelp-tools + >=sys-devel/gettext-0.11.5 + virtual/pkgconfig +" diff --git a/net-analyzer/etherape/etherape-0.9.21.ebuild b/net-analyzer/etherape/etherape-0.9.21.ebuild new file mode 100644 index 000000000000..194bb1a10983 --- /dev/null +++ b/net-analyzer/etherape/etherape-0.9.21.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A graphical network monitor for Unix modeled after etherman" +HOMEPAGE="https://etherape.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/etherape/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ppc ppc64 ~sparc x86" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/popt + net-libs/libpcap + x11-libs/goocanvas:2.0 +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + app-text/yelp-tools + >=sys-devel/gettext-0.11.5 + virtual/pkgconfig +" diff --git a/net-analyzer/etherape/metadata.xml b/net-analyzer/etherape/metadata.xml new file mode 100644 index 000000000000..ba0b7a1df908 --- /dev/null +++ b/net-analyzer/etherape/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + EtherApe is a graphical network monitor for Unix modeled after etherman. + Featuring link layer, ip and TCP modes, it displays network activity + graphically. Hosts and links change in size with traffic. Color coded + protocols display. It supports Ethernet, FDDI, Token Ring, ISDN, PPP + and SLIP devices. It can filter traffic to be shown, and can read + traffic from a file as well as live from the network. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ethloop/Manifest b/net-analyzer/ethloop/Manifest new file mode 100644 index 000000000000..9e1c0e8b055f --- /dev/null +++ b/net-analyzer/ethloop/Manifest @@ -0,0 +1 @@ +DIST ethloop10.tgz 3912 BLAKE2B 4cd0ad93693afb2302627b9fcbefa94eefec3d29c55e583c5126aed9cfb20aa7a2d68834fa138debaf767972e7e898245d7297567b322953e1df03b3817a5609 SHA512 82ac0114d0d539f5c057101e1e1f0e2eac32e0bd482bd62e6305f7c4863d0776dcff7bc85167dbcfb136d0b430c9008241c2c0250713beb2703cb052b9b71e63 diff --git a/net-analyzer/ethloop/ethloop-10-r4.ebuild b/net-analyzer/ethloop/ethloop-10-r4.ebuild new file mode 100644 index 000000000000..dc5653f727a8 --- /dev/null +++ b/net-analyzer/ethloop/ethloop-10-r4.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Local simulator for testing Linux QoS disciplines" +HOMEPAGE="http://luxik.cdi.cz/~devik/qos/ethloop/" +SRC_URI="http://luxik.cdi.cz/~devik/qos/${PN}/${PN}${PV}.tgz" +S="${WORKDIR}"/${PN} + +LICENSE="all-rights-reserved" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +RESTRICT="mirror bindist" + +PATCHES=( + "${FILESDIR}"/${P}-misc.patch +) + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" +} + +src_install() { + dosbin ethloop +} diff --git a/net-analyzer/ethloop/files/ethloop-10-misc.patch b/net-analyzer/ethloop/files/ethloop-10-misc.patch new file mode 100644 index 000000000000..a866386a7006 --- /dev/null +++ b/net-analyzer/ethloop/files/ethloop-10-misc.patch @@ -0,0 +1,65 @@ +--- a/ethloop.c ++++ b/ethloop.c +@@ -1,5 +1,7 @@ + /* vim: cin sw=4 ts=4 + */ ++#include <arpa/inet.h> /* htons() */ ++#include <sys/types.h> /* recv() */ + #include <sys/socket.h> + #include <sys/ioctl.h> + #include <sys/poll.h> +@@ -13,6 +15,7 @@ + #include <stdlib.h> + #include <sys/time.h> + #include <signal.h> ++#include <string.h> + + int sock; + +@@ -133,11 +136,11 @@ + int recv_raw(int tmo) + { + struct pollfd pf = {sock,POLLIN,0}; +- int r; unsigned short proto; ++ ssize_t r; + if(poll(&pf,1,tmo) <= 0) return 0; +- r = recv(sock,&buf,1550,0); ++ r = recv(sock,&buf,sizeof(buf),0); + if (r <= 0) { +- printf("error recv (%d)\n",r); ++ printf("error recv (%ld)\n",r); + return 0; + } + if (ntohs(buf.proto) != ETH_P_CUST) { +@@ -239,10 +242,10 @@ + } + } + +-main(int c,char *av[]) ++int main(int c,char *av[]) + { +- unsigned long av_k1=0,av_k2=0,t_k1=0,t_k2=0; +- unsigned long av_k3=0,av_k4=0,t_k3=0,t_k4=0; ++ unsigned long av_k1=0,av_k2=0; ++ unsigned long av_k3=0,av_k4=0; + int x,tmo,flow,diff,lcheck = 0,lwrite = 0,i,n; + struct flowtab *fp; + sock = socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL)); +@@ -309,7 +312,7 @@ + /* write stats every .5 second */ + if (us - ALIGN(lwrite,LOGTIME) < LOGTIME) continue; + lwrite = us; +- fprintf(stderr,"store %d at %d ms\n",slog_cnt,us/1000); ++ fprintf(stderr,"store %d at %ld ms\n",slog_cnt,us/1000); + for (fp = ftab,i=0;i<FLOWS;fp++,i++) { + stp = slog + slog_cnt; + stp->av_delay[i] = fp->av_delay/EWMAC; +@@ -338,7 +341,7 @@ + printf("%d.%d",(i+1)/2,(i&1)?0:5); + for (flow = 0; flow <= maxflow; flow++) { + fp = ftab + flow; +- printf(" %d %d %d %d",stp->av_wrate[flow], ++ printf(" %ld %ld %ld %ld",stp->av_wrate[flow], + stp->av_rate[flow], stp->av_delay[flow]/1000, + stp->av_jitter[flow]); + } diff --git a/net-analyzer/ethloop/metadata.xml b/net-analyzer/ethloop/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ethloop/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ettercap/Manifest b/net-analyzer/ettercap/Manifest new file mode 100644 index 000000000000..232013c7ec67 --- /dev/null +++ b/net-analyzer/ettercap/Manifest @@ -0,0 +1 @@ +DIST ettercap-0.8.4.1.tar.gz 5810125 BLAKE2B f3a0bb16e55599301da607252e33db2bb8d477739bab17f1f5e8118352277cf94060aa662a1c1c7d3b2802dc416ae9887b20863c20cfe1f128620b6331f2a725 SHA512 34387ac0b37f8f1dee9d129af075c6995be650cbb8c3e31863c6dac53848aa9221c0ecca254aee9d20bc90e31aeedbf16652317ef3dd16a6a40c26eb54ce722a diff --git a/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild b/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild new file mode 100644 index 000000000000..97abd8739187 --- /dev/null +++ b/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Suite for man in the middle attacks" +HOMEPAGE="https://github.com/Ettercap/ettercap" + +LICENSE="GPL-2+" +SLOT="0" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Ettercap/${PN}.git" +else + SRC_URI="https://github.com/Ettercap/${PN}/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~alpha amd64 arm ppc ppc64 ~sparc x86" +fi + +IUSE="doc geoip gtk ipv6 ncurses +plugins test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libbsd + dev-libs/libpcre2:= + dev-libs/openssl:= + net-libs/libnet:1.1 + >=net-libs/libpcap-0.8.1 + virtual/zlib:= + geoip? ( dev-libs/libmaxminddb ) + gtk? ( + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.2.2:2 + media-libs/freetype + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.12.0:3 + >=x11-libs/pango-1.2.3 + ) + ipv6? ( >=net-libs/libnet-1.1.5:1.1 ) + ncurses? ( >=sys-libs/ncurses-5.3:= ) + plugins? ( >=net-misc/curl-7.26.0 ) +" +DEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +BDEPEND=" + doc? ( + app-text/ghostscript-gpl + sys-apps/groff + ) + test? ( dev-libs/check ) +" + +src_prepare() { + sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_CURSES="$(usex ncurses)" + -DENABLE_PLUGINS="$(usex plugins)" + -DENABLE_IPV6="$(usex ipv6)" + -DENABLE_TESTS="$(usex test)" + -DENABLE_PDF_DOCS="$(usex doc)" + -DENABLE_GEOIP="$(usex geoip)" + -DBUNDLED_LIBS=OFF + -DSYSTEM_LIBS=ON + -DINSTALL_SYSCONFDIR="${EPREFIX}"/etc + ) + + if use gtk ; then + mycmakeargs+=(-DGTK_BUILD_TYPE=GTK3 -DENABLE_GTK=ON) + else + mycmakeargs+=(-DINSTALL_DESKTOP=OFF) + fi + + cmake_src_configure +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/net-analyzer/ettercap/ettercap-9999.ebuild b/net-analyzer/ettercap/ettercap-9999.ebuild new file mode 100644 index 000000000000..3473a53cea2b --- /dev/null +++ b/net-analyzer/ettercap/ettercap-9999.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Suite for man in the middle attacks" +HOMEPAGE="https://github.com/Ettercap/ettercap" + +LICENSE="GPL-2+" +SLOT="0" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Ettercap/${PN}.git" +else + SRC_URI="https://github.com/Ettercap/${PN}/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" +fi + +IUSE="doc geoip gtk ipv6 ncurses +plugins test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libbsd + dev-libs/libpcre2:= + dev-libs/openssl:= + net-libs/libnet:1.1 + >=net-libs/libpcap-0.8.1 + virtual/zlib:= + geoip? ( dev-libs/libmaxminddb ) + gtk? ( + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.2.2:2 + media-libs/freetype + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.12.0:3 + >=x11-libs/pango-1.2.3 + ) + ipv6? ( >=net-libs/libnet-1.1.5:1.1 ) + ncurses? ( >=sys-libs/ncurses-5.3:= ) + plugins? ( >=net-misc/curl-7.26.0 ) +" +DEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +BDEPEND=" + doc? ( + app-text/ghostscript-gpl + sys-apps/groff + ) + test? ( dev-libs/check ) +" + +src_prepare() { + sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_CURSES="$(usex ncurses)" + -DENABLE_PLUGINS="$(usex plugins)" + -DENABLE_IPV6="$(usex ipv6)" + -DENABLE_TESTS="$(usex test)" + -DENABLE_PDF_DOCS="$(usex doc)" + -DENABLE_GEOIP="$(usex geoip)" + -DBUNDLED_LIBS=OFF + -DSYSTEM_LIBS=ON + -DINSTALL_SYSCONFDIR="${EPREFIX}"/etc + ) + + if use gtk ; then + mycmakeargs+=(-DGTK_BUILD_TYPE=GTK3 -DENABLE_GTK=ON) + else + mycmakeargs+=(-DINSTALL_DESKTOP=OFF) + fi + + cmake_src_configure +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/net-analyzer/ettercap/metadata.xml b/net-analyzer/ettercap/metadata.xml new file mode 100644 index 000000000000..ec2c2dae129e --- /dev/null +++ b/net-analyzer/ettercap/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <maintainer type="person"> + <email>ago@gentoo.org</email> + <name>Agostino Sarubbo</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="plugins">Install ettercap plugins (et_*.so)</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/fail2ban/Manifest b/net-analyzer/fail2ban/Manifest new file mode 100644 index 000000000000..a9e07e8f972d --- /dev/null +++ b/net-analyzer/fail2ban/Manifest @@ -0,0 +1 @@ +DIST fail2ban-1.1.0.tar.gz 603854 BLAKE2B f7c2d3a1e5b5cdca1f26d92cefe75958bb61b87ad1cf316380b91527c96f3261e5665478c5fbb053f6419956dda934c8ef3ce837af2819b1b1c8d162246fc15f SHA512 9bff7b9c41e58a953901800468e5c4153c9db6af01c7eb18111ad8620b40d03a0771020472fb759b2809d250e2bb45471e6c7e8283e72ea48290ecf7bf921821 diff --git a/net-analyzer/fail2ban/fail2ban-1.1.0-r6.ebuild b/net-analyzer/fail2ban/fail2ban-1.1.0-r6.ebuild new file mode 100644 index 000000000000..8d90ec056c05 --- /dev/null +++ b/net-analyzer/fail2ban/fail2ban-1.1.0-r6.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 edo python-single-r1 systemd tmpfiles + +DESCRIPTION="Scans log files and bans IPs that show malicious signs" +HOMEPAGE="https://www.fail2ban.org/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/fail2ban/fail2ban" + inherit git-r3 +else + SRC_URI="https://github.com/fail2ban/fail2ban/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="selinux systemd test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pyasyncore[${PYTHON_USEDEP}] + dev-python/pyasynchat[${PYTHON_USEDEP}] + ' 3.12) + virtual/logger + virtual/mta + selinux? ( sec-policy/selinux-fail2ban ) + systemd? ( + $(python_gen_cond_dep ' + dev-python/python-systemd[${PYTHON_USEDEP}] + ') + ) +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/aiosmtpd[${PYTHON_USEDEP}] + ') + ) +" + +DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.11.2-adjust-apache-logs-paths.patch + "${FILESDIR}"/${PN}-1.0.2-umask-tests.patch + "${FILESDIR}"/${PN}-1.1.0-openssh-9.8.patch + "${FILESDIR}"/${PN}-1.1.0-openssh-9.8-fixups.patch + "${FILESDIR}"/${PN}-1.1.0-openrc-nftables.patch + "${FILESDIR}"/${PN}-1.1.0-systemd-order.patch + "${FILESDIR}"/${PN}-1.1.0-postfix-pref.patch + "${FILESDIR}"/${PN}-1.1.0-postfix-ddos.patch + "${FILESDIR}"/${PN}-1.1.0-sshd-ddos.patch +) + +src_prepare() { + default + + # Replace /var/run with /run, but not in the top source directory + find . -mindepth 2 -type f -exec \ + sed -i -e 's|/var\(/run/fail2ban\)|\1|g' {} + || die +} + +src_compile() { + edo ${EPYTHON} setup.py build +} + +src_test() { + # Skip testRepairDb for bug #907348 (didn't always fail..) + # https://github.com/fail2ban/fail2ban/issues/3586 + bin/fail2ban-testcases \ + --no-network \ + --ignore databasetestcase.DatabaseTest.testRepairDb \ + --verbosity=4 || die "Tests failed with ${EPYTHON}" + + # Workaround for bug #790251 + rm -rf fail2ban.egg-info || die +} + +src_install() { + edo ${EPYTHON} setup.py install --prefix="${EPREFIX}/usr" --root="${D}" + python_fix_shebang "${ED}"/usr/bin + python_optimize + + einstalldocs + + rm -rf "${ED}"/usr/share/doc/${PN} "${ED}"/run || die + + newconfd files/fail2ban-openrc.conf ${PN} + # These two are placed in the ${BUILD_DIR} after being "built" + # in install_scripts(). + newinitd "${S}"/build/fail2ban-openrc.init ${PN} + systemd_dounit "${S}"/build/${PN}.service + + dotmpfiles files/${PN}-tmpfiles.conf + + doman man/*.{1,5} + + # Use INSTALL_MASK if you do not want to touch /etc/logrotate.d. + # See http://thread.gmane.org/gmane.linux.gentoo.devel/35675 + insinto /etc/logrotate.d + newins files/${PN}-logrotate ${PN} + + keepdir /var/lib/${PN} + + newbashcomp files/bash-completion ${PN}-client + bashcomp_alias ${PN}-client ${PN}-server ${PN}-regex +} + +pkg_preinst() { + has_version "<${CATEGORY}/${PN}-0.7" + previous_less_than_0_7=$? +} + +pkg_postinst() { + tmpfiles_process ${PN}-tmpfiles.conf + + if [[ ${previous_less_than_0_7} == 0 ]] ; then + elog + elog "Configuration files are now in /etc/fail2ban/" + elog "You probably have to manually update your configuration" + elog "files before restarting Fail2Ban!" + elog + elog "Fail2Ban is not installed under /usr/lib anymore. The" + elog "new location is under /usr/share." + elog + elog "You are upgrading from version 0.6.x, please see:" + elog "http://www.fail2ban.org/wiki/index.php/HOWTO_Upgrade_from_0.6_to_0.8" + fi + + if ! has_version dev-python/pyinotify ; then + elog "For most jail.conf configurations, it is recommended you install" + elog "dev-python/pyinotify to control how log file modifications are detected" + fi + + if ! has_version dev-lang/python[sqlite] ; then + elog "If you want to use ${PN}'s persistent database, then reinstall" + elog "dev-lang/python with USE=sqlite. If you do not use the" + elog "persistent database feature, then you should set" + elog "dbfile = :memory: in fail2ban.conf accordingly." + fi +} diff --git a/net-analyzer/fail2ban/fail2ban-1.1.0-r7.ebuild b/net-analyzer/fail2ban/fail2ban-1.1.0-r7.ebuild new file mode 100644 index 000000000000..11acdf456d92 --- /dev/null +++ b/net-analyzer/fail2ban/fail2ban-1.1.0-r7.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 edo python-single-r1 systemd tmpfiles + +DESCRIPTION="Scans log files and bans IPs that show malicious signs" +HOMEPAGE="https://www.fail2ban.org/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/fail2ban/fail2ban" + inherit git-r3 +else + SRC_URI="https://github.com/fail2ban/fail2ban/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="selinux systemd test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pyasyncore[${PYTHON_USEDEP}] + dev-python/pyasynchat[${PYTHON_USEDEP}] + ' 3.12) + virtual/logger + virtual/mta + selinux? ( sec-policy/selinux-fail2ban ) + systemd? ( + $(python_gen_cond_dep ' + dev-python/python-systemd[${PYTHON_USEDEP}] + ') + ) +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/aiosmtpd[${PYTHON_USEDEP}] + ') + ) +" + +DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.11.2-adjust-apache-logs-paths.patch + "${FILESDIR}"/${PN}-1.0.2-umask-tests.patch + "${FILESDIR}"/${PN}-1.1.0-openssh-9.8.patch + "${FILESDIR}"/${PN}-1.1.0-openssh-9.8-fixups.patch + "${FILESDIR}"/${PN}-1.1.0-openrc-nftables.patch + "${FILESDIR}"/${PN}-1.1.0-systemd-order.patch + "${FILESDIR}"/${PN}-1.1.0-postfix-pref.patch + "${FILESDIR}"/${PN}-1.1.0-postfix-ddos.patch + "${FILESDIR}"/${PN}-1.1.0-sshd-ddos.patch + "${FILESDIR}"/${PN}-1.1.0-openrc-use-supervise-daemon.patch +) + +src_prepare() { + default + + # Replace /var/run with /run, but not in the top source directory + find . -mindepth 2 -type f -exec \ + sed -i -e 's|/var\(/run/fail2ban\)|\1|g' {} + || die +} + +src_compile() { + edo ${EPYTHON} setup.py build +} + +src_test() { + # Skip testRepairDb for bug #907348 (didn't always fail..) + # https://github.com/fail2ban/fail2ban/issues/3586 + bin/fail2ban-testcases \ + --no-network \ + --ignore databasetestcase.DatabaseTest.testRepairDb \ + --verbosity=4 || die "Tests failed with ${EPYTHON}" + + # Workaround for bug #790251 + rm -rf fail2ban.egg-info || die +} + +src_install() { + edo ${EPYTHON} setup.py install --prefix="${EPREFIX}/usr" --root="${D}" + python_fix_shebang "${ED}"/usr/bin + python_optimize + + einstalldocs + + rm -rf "${ED}"/usr/share/doc/${PN} "${ED}"/run || die + + newconfd files/fail2ban-openrc.conf ${PN} + # These two are placed in the ${BUILD_DIR} after being "built" + # in install_scripts(). + newinitd "${S}"/build/fail2ban-openrc.init ${PN} + systemd_dounit "${S}"/build/${PN}.service + + dotmpfiles files/${PN}-tmpfiles.conf + + doman man/*.{1,5} + + # Use INSTALL_MASK if you do not want to touch /etc/logrotate.d. + # See http://thread.gmane.org/gmane.linux.gentoo.devel/35675 + insinto /etc/logrotate.d + newins files/${PN}-logrotate ${PN} + + keepdir /var/lib/${PN} + + newbashcomp files/bash-completion ${PN}-client + bashcomp_alias ${PN}-client ${PN}-server ${PN}-regex +} + +pkg_preinst() { + has_version "<${CATEGORY}/${PN}-0.7" + previous_less_than_0_7=$? +} + +pkg_postinst() { + tmpfiles_process ${PN}-tmpfiles.conf + + if [[ ${previous_less_than_0_7} == 0 ]] ; then + elog + elog "Configuration files are now in /etc/fail2ban/" + elog "You probably have to manually update your configuration" + elog "files before restarting Fail2Ban!" + elog + elog "Fail2Ban is not installed under /usr/lib anymore. The" + elog "new location is under /usr/share." + elog + elog "You are upgrading from version 0.6.x, please see:" + elog "http://www.fail2ban.org/wiki/index.php/HOWTO_Upgrade_from_0.6_to_0.8" + fi + + if ! has_version dev-python/pyinotify ; then + elog "For most jail.conf configurations, it is recommended you install" + elog "dev-python/pyinotify to control how log file modifications are detected" + fi + + if ! has_version dev-lang/python[sqlite] ; then + elog "If you want to use ${PN}'s persistent database, then reinstall" + elog "dev-lang/python with USE=sqlite. If you do not use the" + elog "persistent database feature, then you should set" + elog "dbfile = :memory: in fail2ban.conf accordingly." + fi +} diff --git a/net-analyzer/fail2ban/fail2ban-9999.ebuild b/net-analyzer/fail2ban/fail2ban-9999.ebuild new file mode 100644 index 000000000000..2d8eb50f2e74 --- /dev/null +++ b/net-analyzer/fail2ban/fail2ban-9999.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 edo python-single-r1 systemd tmpfiles + +DESCRIPTION="Scans log files and bans IPs that show malicious signs" +HOMEPAGE="https://www.fail2ban.org/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/fail2ban/fail2ban" + inherit git-r3 +else + SRC_URI="https://github.com/fail2ban/fail2ban/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="selinux systemd test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pyasyncore[${PYTHON_USEDEP}] + dev-python/pyasynchat[${PYTHON_USEDEP}] + ' 3.12) + virtual/logger + virtual/mta + selinux? ( sec-policy/selinux-fail2ban ) + systemd? ( + $(python_gen_cond_dep ' + dev-python/python-systemd[${PYTHON_USEDEP}] + ') + ) +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/aiosmtpd[${PYTHON_USEDEP}] + ') + ) +" + +DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.11.2-adjust-apache-logs-paths.patch + "${FILESDIR}"/${PN}-1.0.2-umask-tests.patch + "${FILESDIR}"/${PN}-1.1.0-systemd-order.patch + "${FILESDIR}"/${PN}-1.1.0-openrc-use-supervise-daemon.patch +) + +src_prepare() { + default + + # Replace /var/run with /run, but not in the top source directory + find . -mindepth 2 -type f -exec \ + sed -i -e 's|/var\(/run/fail2ban\)|\1|g' {} + || die +} + +src_compile() { + edo ${EPYTHON} setup.py build +} + +src_test() { + # Skip testRepairDb for bug #907348 (didn't always fail..) + # https://github.com/fail2ban/fail2ban/issues/3586 + bin/fail2ban-testcases \ + --no-network \ + --ignore databasetestcase.DatabaseTest.testRepairDb \ + --verbosity=4 || die "Tests failed with ${EPYTHON}" + + # Workaround for bug #790251 + rm -rf fail2ban.egg-info || die +} + +src_install() { + edo ${EPYTHON} setup.py install --prefix="${EPREFIX}/usr" --root="${D}" + python_fix_shebang "${ED}"/usr/bin + python_optimize + + einstalldocs + + rm -rf "${ED}"/usr/share/doc/${PN} "${ED}"/run || die + + newconfd files/fail2ban-openrc.conf ${PN} + # These two are placed in the ${BUILD_DIR} after being "built" + # in install_scripts(). + newinitd "${S}"/build/fail2ban-openrc.init ${PN} + systemd_dounit "${S}"/build/${PN}.service + + dotmpfiles "${FILESDIR}"/${PN}-tmpfiles.conf + + doman man/*.{1,5} + + # Use INSTALL_MASK if you do not want to touch /etc/logrotate.d. + # See http://thread.gmane.org/gmane.linux.gentoo.devel/35675 + insinto /etc/logrotate.d + newins files/${PN}-logrotate ${PN} + + keepdir /var/lib/${PN} + + newbashcomp files/bash-completion ${PN}-client + bashcomp_alias ${PN}-client ${PN}-server ${PN}-regex +} + +pkg_preinst() { + has_version "<${CATEGORY}/${PN}-0.7" + previous_less_than_0_7=$? +} + +pkg_postinst() { + tmpfiles_process ${PN}-tmpfiles.conf + + if [[ ${previous_less_than_0_7} == 0 ]] ; then + elog + elog "Configuration files are now in /etc/fail2ban/" + elog "You probably have to manually update your configuration" + elog "files before restarting Fail2Ban!" + elog + elog "Fail2Ban is not installed under /usr/lib anymore. The" + elog "new location is under /usr/share." + elog + elog "You are upgrading from version 0.6.x, please see:" + elog "http://www.fail2ban.org/wiki/index.php/HOWTO_Upgrade_from_0.6_to_0.8" + fi + + if ! has_version dev-python/pyinotify ; then + elog "For most jail.conf configurations, it is recommended you install" + elog "dev-python/pyinotify to control how log file modifications are detected" + fi + + if ! has_version dev-lang/python[sqlite] ; then + elog "If you want to use ${PN}'s persistent database, then reinstall" + elog "dev-lang/python with USE=sqlite. If you do not use the" + elog "persistent database feature, then you should set" + elog "dbfile = :memory: in fail2ban.conf accordingly." + fi +} diff --git a/net-analyzer/fail2ban/files/fail2ban-0.11.2-adjust-apache-logs-paths.patch b/net-analyzer/fail2ban/files/fail2ban-0.11.2-adjust-apache-logs-paths.patch new file mode 100644 index 000000000000..3017883f0d5a --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-0.11.2-adjust-apache-logs-paths.patch @@ -0,0 +1,29 @@ +From bda9b88e883207b99781352c68610980e23fa62f Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 11 Aug 2021 01:58:05 +0100 +Subject: [PATCH] Adjust Apache log paths for Gentoo + +Closes: https://bugs.gentoo.org/805485 +--- + config/paths-common.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/config/paths-common.conf b/config/paths-common.conf +index 7383caf..4f4a6e1 100644 +--- a/config/paths-common.conf ++++ b/config/paths-common.conf +@@ -36,9 +36,9 @@ sshd_backend = %(default_backend)s + dropbear_log = %(syslog_authpriv)s + dropbear_backend = %(default_backend)s + +-apache_error_log = /var/log/apache2/*error.log ++apache_error_log = /var/log/apache2/*error_log + +-apache_access_log = /var/log/apache2/*access.log ++apache_access_log = /var/log/apache2/*access_log + + # from /etc/audit/auditd.conf + auditd_log = /var/log/audit/audit.log +-- +2.32.0 + diff --git a/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch b/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch new file mode 100644 index 000000000000..8feca43412ec --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch @@ -0,0 +1,45 @@ +Avoid corrupting umask permanently in the testdir because of fail2ban/server/server.py::start. + +In particular: +* https://bugs.gentoo.org/659010#c11 +* https://bugs.gentoo.org/790251#c10 +* https://bugs.gentoo.org/907350 + +But see also the many dupes. +--- a/fail2ban/tests/fail2banclienttestcase.py ++++ b/fail2ban/tests/fail2banclienttestcase.py +@@ -23,6 +23,7 @@ __author__ = "Serg Brester" + __copyright__ = "Copyright (c) 2014- Serg G. Brester (sebres), 2008- Fail2Ban Contributors" + __license__ = "GPL" + ++import atexit + import fileinput + import os + import re +@@ -40,6 +41,14 @@ from ..client.fail2bancmdline import Fail2banCmdLine + from ..client.fail2banclient import exec_command_line as _exec_client, CSocket, VisualWait + from ..client.fail2banserver import Fail2banServer, exec_command_line as _exec_server + from .. import protocol ++ ++def current_umask(): ++ tmp = os.umask(0o022) ++ os.umask(tmp) ++ return tmp ++ ++old_umask = current_umask() ++ + from ..server import server + from ..server.mytime import MyTime + from ..server.utils import Utils +@@ -48,6 +57,11 @@ from .utils import LogCaptureTestCase, logSys as DefLogSys, with_tmpdir, shutil, + + from ..helpers import getLogger + ++def restore_umask(): ++ os.umask(old_umask) ++ ++atexit.register(restore_umask) ++ + # Gets the instance of the logger. + logSys = getLogger(__name__) + diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-nftables.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-nftables.patch new file mode 100644 index 000000000000..844be1cedd34 --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-nftables.patch @@ -0,0 +1,25 @@ +https://github.com/fail2ban/fail2ban/commit/9e31cfc1f10e8304dc0b5adf0a429d57fcb598a3 + +From 9e31cfc1f10e8304dc0b5adf0a429d57fcb598a3 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 24 Aug 2024 11:59:59 -0400 +Subject: [PATCH] files/fail2ban-openrc.init.in: start after nftables + +The "after iptables" clause in the OpenRC service script's depend() +function causes fail2ban to start after iptables, if iptables is +scheduled to start. Here we add "after nftables" as well: nftables is +the successor to iptables, and fail2ban supports it out-of-the-box. +If nftables is scheduled to start, we want to wait until it's done +before starting fail2ban. +--- a/files/fail2ban-openrc.init.in ++++ b/files/fail2ban-openrc.init.in +@@ -44,7 +44,7 @@ retry="30" + + depend() { + use logger +- after iptables ++ after iptables nftables + } + + checkconfig() { + diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-use-supervise-daemon.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-use-supervise-daemon.patch new file mode 100644 index 000000000000..f65f035e731f --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openrc-use-supervise-daemon.patch @@ -0,0 +1,23 @@ +I kept hitting a startup failure and couldn't get anywhere with figuring +out what wa shappening, but OpenRC is moving towards preferring supervise-daemon, +and this is a bit nicer anyway as it takes any possibility of a race with +pidfiles out of the equation. +--- a/files/fail2ban-openrc.init.in ++++ b/files/fail2ban-openrc.init.in +@@ -33,13 +33,13 @@ FAIL2BAN_SOCKET="${FAIL2BAN_RUNDIR}/${RC_SVCNAME}.sock" + # The fail2ban-client program is also capable of starting and stopping + # the server, but things are simpler if we let start-stop-daemon do it. + command="@BINDIR@/fail2ban-server" +-pidfile="${FAIL2BAN_RUNDIR}/${RC_SVCNAME}.pid" + +-# We force the pidfile/socket location in this service script because ++# We force the socket location in this service script because + # we're taking responsibility for ensuring that their parent directory + # exists and has the correct permissions (which we can't do if the + # user is allowed to change them). +-command_args="${FAIL2BAN_OPTIONS} -p ${pidfile} -s ${FAIL2BAN_SOCKET}" ++supervisor=supervise-daemon ++command_args="${FAIL2BAN_OPTIONS} -f -s ${FAIL2BAN_SOCKET}" + retry="30" + + depend() { diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8-fixups.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8-fixups.patch new file mode 100644 index 000000000000..06ff07bd0599 --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8-fixups.patch @@ -0,0 +1,40 @@ +https://bugs.gentoo.org/936838 +https://github.com/fail2ban/fail2ban/commit/c769046a1f729880cc53efdff4b52ac96010752f +https://github.com/fail2ban/fail2ban/commit/54c0effceb998b73545073ac59c479d9d9bf19a4 + +From c769046a1f729880cc53efdff4b52ac96010752f Mon Sep 17 00:00:00 2001 +From: sebres <info@sebres.de> +Date: Sun, 11 Aug 2024 11:55:39 +0200 +Subject: [PATCH] Revert "`filterd./sshd.conf`: fixed journalmatch + (sshd.service seems to be renamed to ssh.service)" - it'd patched in debian + branch. This reverts commit 6fce23e7baa484c7d1f9b0c9a11986f3916c41dd. + +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -126,7 +126,7 @@ ignoreregex = + + maxlines = 1 + +-journalmatch = _SYSTEMD_UNIT=ssh.service + _COMM=sshd ++journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd + + # DEV Notes: + # + +From 54c0effceb998b73545073ac59c479d9d9bf19a4 Mon Sep 17 00:00:00 2001 +From: sebres <info@sebres.de> +Date: Sun, 11 Aug 2024 12:10:12 +0200 +Subject: [PATCH] filter.d/sshd.conf: amend to #3747/#3812 (new ssh version + would log with `_COMM=sshd-session`) + +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -126,7 +126,7 @@ ignoreregex = + + maxlines = 1 + +-journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd ++journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd + _COMM=sshd-session + + # DEV Notes: + # diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8.patch new file mode 100644 index 000000000000..6b7800ca3f0a --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-openssh-9.8.patch @@ -0,0 +1,75 @@ +https://bugs.gentoo.org/935392 +https://github.com/fail2ban/fail2ban/commit/6fce23e7baa484c7d1f9b0c9a11986f3916c41dd +https://github.com/fail2ban/fail2ban/commit/2fed408c05ac5206b490368d94599869bd6a056d +https://github.com/fail2ban/fail2ban/commit/50ff131a0fd8f54fdeb14b48353f842ee8ae8c1a + +From 6fce23e7baa484c7d1f9b0c9a11986f3916c41dd Mon Sep 17 00:00:00 2001 +From: "Sergey G. Brester" <serg.brester@sebres.de> +Date: Mon, 10 Jun 2024 01:40:59 +0200 +Subject: [PATCH] `filterd./sshd.conf`: fixed journalmatch (sshd.service seems + to be renamed to ssh.service) + +closes gh-3747 +--- + config/filter.d/sshd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/filter.d/sshd.conf b/config/filter.d/sshd.conf +index a954774c62..1c8a02deb5 100644 +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -126,7 +126,7 @@ ignoreregex = + + maxlines = 1 + +-journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd ++journalmatch = _SYSTEMD_UNIT=ssh.service + _COMM=sshd + + # DEV Notes: + # + +From 2fed408c05ac5206b490368d94599869bd6a056d Mon Sep 17 00:00:00 2001 +From: Fabian Dellwing <fabian.dellwing@mbconnectline.de> +Date: Tue, 2 Jul 2024 07:54:15 +0200 +Subject: [PATCH] Adjust sshd filter for OpenSSH 9.8 new daemon name + +--- + config/filter.d/sshd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/filter.d/sshd.conf b/config/filter.d/sshd.conf +index 1c8a02deb5..a1fd749aed 100644 +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -16,7 +16,7 @@ before = common.conf + + [DEFAULT] + +-_daemon = sshd ++_daemon = (?:sshd(?:-session)?) + + # optional prefix (logged from several ssh versions) like "error: ", "error: PAM: " or "fatal: " + __pref = (?:(?:error|fatal): (?:PAM: )?)? + +From 50ff131a0fd8f54fdeb14b48353f842ee8ae8c1a Mon Sep 17 00:00:00 2001 +From: "Sergey G. Brester" <serg.brester@sebres.de> +Date: Wed, 3 Jul 2024 19:35:28 +0200 +Subject: [PATCH] filter.d/sshd.conf: ungroup (unneeded for _daemon) + +--- + config/filter.d/sshd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/filter.d/sshd.conf b/config/filter.d/sshd.conf +index a1fd749aed..3a84b1ba52 100644 +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -16,7 +16,7 @@ before = common.conf + + [DEFAULT] + +-_daemon = (?:sshd(?:-session)?) ++_daemon = sshd(?:-session)? + + # optional prefix (logged from several ssh versions) like "error: ", "error: PAM: " or "fatal: " + __pref = (?:(?:error|fatal): (?:PAM: )?)? diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-ddos.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-ddos.patch new file mode 100644 index 000000000000..efdc463e1fea --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-ddos.patch @@ -0,0 +1,38 @@ +https://github.com/fail2ban/fail2ban/pull/4072 +https://bugs.gentoo.org/963047 + +commit 0fee8dbe9241f8d387f064a079668457a0efd33d +Author: Ulrich Müller <ulm@gentoo.org> +Date: Thu Sep 18 07:20:38 2025 +0200 + + filter.d/postfix.conf: Add optional "NOQUEUE:" to mdpr-ddos + + The current regex doesn't match the following log entry, seen with + Postfix 3.10.2: + + Sep 17 18:19:20 mxhost postfix/smtpd[12345]: NOQUEUE: lost connection after CONNECT from unknown[192.0.2.25] + Sep 17 18:19:20 mxhost postfix/smtpd[12345]: disconnect from unknown[192.0.2.25] commands=0/0 + +--- a/config/filter.d/postfix.conf ++++ b/config/filter.d/postfix.conf +@@ -38,7 +38,7 @@ + + # Includes some of the log messages described in + # <http://www.postfix.org/POSTSCREEN_README.html>. +-mdpr-ddos = (?:lost connection after (?!(?:DATA|AUTH)\b)[A-Z]+|disconnect(?= from \S+(?: \S+=\d+)* auth=0/(?:[1-9]|\d\d+))|(?:PREGREET \d+|HANGUP) after \S+|COMMAND (?:TIME|COUNT|LENGTH) LIMIT) ++mdpr-ddos = (?:NOQUEUE: )?(?:lost connection after (?!(?:DATA|AUTH)\b)[A-Z]+|disconnect(?= from \S+(?: \S+=\d+)* auth=0/(?:[1-9]|\d\d+))|(?:PREGREET \d+|HANGUP) after \S+|COMMAND (?:TIME|COUNT|LENGTH) LIMIT) + mdre-ddos = ^from [^[]*\[<HOST>\]%(_port)s:? + + mdpr-extra = (?:%(mdpr-auth)s|%(mdpr-normal)s) +--- a/fail2ban/tests/files/logs/postfix ++++ b/fail2ban/tests/files/logs/postfix +@@ -187,6 +187,9 @@ + # failJSON: { "time": "2005-06-08T23:14:54", "match": true , "host": "192.0.2.26", "desc": "abusive clients hitting command limit (gh-3040)" } + Jun 8 23:14:54 proxy2 postfix/postscreen[473]: COMMAND COUNT LIMIT from [192.0.2.26]:15592 after RCPT + ++# failJSON: { "time": "2004-09-17T18:19:20", "match": true , "host": "192.0.2.25" } ++Sep 17 18:19:20 mxhost postfix/smtpd[12345]: NOQUEUE: lost connection after CONNECT from unknown[192.0.2.25] ++ + + # filterOptions: [{}, {"mode": "ddos"}, {"mode": "aggressive"}] + # failJSON: { "match": false, "desc": "don't affect lawful data (sporadical connection aborts within DATA-phase, see gh-1813 for discussion)" } diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-pref.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-pref.patch new file mode 100644 index 000000000000..72a21d6681a5 --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-postfix-pref.patch @@ -0,0 +1,32 @@ +https://github.com/fail2ban/fail2ban/issues/3800 + +commit 93810fff75640ddfe4c248e670ed80b5d225bf10 +Author: Serg G. Brester <info@sebres.de> +Date: Fri Jul 26 19:25:09 2024 +0200 + + consider CONNECT and other rejected commands as a valid `_pref`; + closes gh-3800 + +--- a/config/filter.d/postfix.conf ++++ b/config/filter.d/postfix.conf +@@ -12,7 +12,7 @@ + + _daemon = postfix(-\w+)?/[^/\[:\s]+(?:/smtp[ds])? + _port = (?::\d+)? +-_pref = [A-Z]{4} ++_pref = [A-Z]{4,} + + prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$ + +--- a/fail2ban/tests/files/logs/postfix ++++ b/fail2ban/tests/files/logs/postfix +@@ -70,6 +70,9 @@ + # failJSON: { "time": "2005-05-05T15:51:11", "match": true , "host": "216.245.194.173", "desc": "postfix postscreen / gh-1764" } + May 5 15:51:11 xxx postfix/postscreen[1148]: NOQUEUE: reject: RCPT from [216.245.194.173]:60591: 550 5.7.1 Service unavailable; client [216.245.194.173] blocked using rbl.example.com; from=<spammer@example.com>, to=<goodguy@example.com>, proto=ESMTP, helo=<badguy.example.com> + ++# failJSON: { "time": "2005-06-01T19:00:55", "match": true , "host": "192.0.2.114", "desc": "postfix client restriction / gh-3800" } ++Jun 1 19:00:55 mail postfix/smtpd[7749]: NOQUEUE: reject: CONNECT from unknown[192.0.2.114]: 450 4.7.25 Client host rejected: cannot find your hostname, [178.215.236.114]; proto=SMTP ++ + # failJSON: { "time": "2005-06-03T06:25:43", "match": true , "host": "192.0.2.11", "desc": "too many errors / gh-2439" } + Jun 3 06:25:43 srv postfix/smtpd[29306]: too many errors after RCPT from example.com[192.0.2.11] + diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-sshd-ddos.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-sshd-ddos.patch new file mode 100644 index 000000000000..6a19031ca406 --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-sshd-ddos.patch @@ -0,0 +1,33 @@ +https://github.com/fail2ban/fail2ban/issues/3907 +https://bugs.gentoo.org/963511 + +commit 89b5f3bb1ecd3789b3271b648eeb83c620668e6f +Author: Serg G. Brester <info@sebres.de> +Date: Thu Dec 26 14:24:15 2024 +0100 + + `filter.d/sshd.conf`: `ddos` and `aggressive` modes, regex extended for timeout before authentication (optional connection from part); + closes gh-3907 + +--- a/config/filter.d/sshd.conf ++++ b/config/filter.d/sshd.conf +@@ -70,7 +70,7 @@ + # used to differentiate "connection closed" with and without `[preauth]` (fail/nofail cases in ddos mode) + mdre-normal-other = ^<F-NOFAIL><F-MLFFORGET>(?:Connection (?:closed|reset)|Disconnect(?:ed|ing))</F-MLFFORGET></F-NOFAIL>%(__authng_user)s <ADDR>%(__on_port_opt)s(?:: (?!Too many authentication failures)[^\[]+)?(?: \[preauth\])?\s*$ + +-mdre-ddos = ^(?:Did not receive identification string from|Timeout before authentication for) <HOST> ++mdre-ddos = ^(?:Did not receive identification string from|Timeout before authentication for(?: connection from)?) <HOST> + ^kex_exchange_identification: (?:read: )?(?:[Cc]lient sent invalid protocol identifier|[Cc]onnection (?:closed by remote host|reset by peer)) + ^Bad protocol version identification '(?:[^']|.*?)' (?:from )?<HOST>%(__suff)s$ + ^<F-NOFAIL>SSH: Server;Ltype:</F-NOFAIL> (?:Authname|Version|Kex);Remote: <HOST>-\d+;[A-Z]\w+: +--- a/fail2ban/tests/files/logs/sshd ++++ b/fail2ban/tests/files/logs/sshd +@@ -360,6 +360,9 @@ + # failJSON: { "match": false, "desc": "Connection reset already triggered above (known IP, no-fail helper unused here)" } + Jun 7 04:29:10 host sshd[649921]: Connection reset by 192.0.2.16 port 51280 + ++# failJSON: { "time": "2005-06-10T09:43:06", "match": true , "host": "192.0.2.17", "desc": "ddos: timeout ... connection from, gh-3907" } ++Jun 10 09:43:06 host sshd[3801]: Timeout before authentication for connection from 192.0.2.17 to 127.0.0.1, pid = 29098 ++ + # filterOptions: [{"mode": "extra"}, {"mode": "aggressive"}] + + # several other cases from gh-864: diff --git a/net-analyzer/fail2ban/files/fail2ban-1.1.0-systemd-order.patch b/net-analyzer/fail2ban/files/fail2ban-1.1.0-systemd-order.patch new file mode 100644 index 000000000000..39da720466ef --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.1.0-systemd-order.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/871996 +--- a/files/fail2ban.service.in ++++ b/files/fail2ban.service.in +@@ -1,7 +1,10 @@ + [Unit] + Description=Fail2Ban Service + Documentation=man:fail2ban(1) ++ ++Before=iptables-store.service ip6tables-store.service + After=network.target iptables.service firewalld.service ip6tables.service ipset.service nftables.service ++After=iptables-restore.service ip6tables-restore.service + PartOf=iptables.service firewalld.service ip6tables.service ipset.service nftables.service + + [Service] diff --git a/net-analyzer/fail2ban/files/fail2ban-tmpfiles.conf b/net-analyzer/fail2ban/files/fail2ban-tmpfiles.conf new file mode 100644 index 000000000000..6e611c6a2dc6 --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-tmpfiles.conf @@ -0,0 +1 @@ +D /run/fail2ban 0755 root root - diff --git a/net-analyzer/fail2ban/metadata.xml b/net-analyzer/fail2ban/metadata.xml new file mode 100644 index 000000000000..58bc2cf44318 --- /dev/null +++ b/net-analyzer/fail2ban/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <stabilize-allarches /> + <upstream> + <remote-id type="cpe">cpe:/a:fail2ban:fail2ban</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/firewalk/Manifest b/net-analyzer/firewalk/Manifest new file mode 100644 index 000000000000..ecd2dcaa1cef --- /dev/null +++ b/net-analyzer/firewalk/Manifest @@ -0,0 +1 @@ +DIST firewalk-5.0.tgz 80446 BLAKE2B 22580800fb21347fda6ff6290c0fd2f177e266778c2d6ce1087839b5484dfcf8e2ffbb415d90012d71e6d345ba4c95f888fecc902adaaa2903124605c1fcf427 SHA512 919aa6e464dac72a02f8967ccf7109de7d0b3a574f0a396bcf69bacc988ab8e13e8e25932d749eadc898cae2546f8f81014d53ef51429e6c784a16d40da90ff2 diff --git a/net-analyzer/firewalk/files/firewalk-5.0-gcc3.4.diff b/net-analyzer/firewalk/files/firewalk-5.0-gcc3.4.diff new file mode 100644 index 000000000000..925bde7b75f3 --- /dev/null +++ b/net-analyzer/firewalk/files/firewalk-5.0-gcc3.4.diff @@ -0,0 +1,11 @@ +--- a/src/firewalk.c ++++ b/src/firewalk.c +@@ -188,8 +188,6 @@ + case FW_SERIOUS_ERROR: + /* err msg set in fw_packet_capture() */ + return (FW_SERIOUS_ERROR); +- default: +- /* empty */ + } + } + } diff --git a/net-analyzer/firewalk/files/firewalk-5.0-signal.patch b/net-analyzer/firewalk/files/firewalk-5.0-signal.patch new file mode 100644 index 000000000000..1d0c3423e8ac --- /dev/null +++ b/net-analyzer/firewalk/files/firewalk-5.0-signal.patch @@ -0,0 +1,36 @@ +https://bugs.gentoo.org/945297 +fix signature of signal +--- a/include/firewalk.h ++++ b/include/firewalk.h +@@ -248,7 +248,7 @@ + int /* 1 on success -1 or failure */ + catch_sig( + int, /* signal to catch */ +- void (*)() /* new signal handler */ ++ void (*)(int) /* new signal handler */ + ); + + /* handles SIGINT from user */ +--- a/src/signal.c ++++ b/src/signal.c +@@ -40,7 +40,7 @@ + extern int loop; + + int +-catch_sig(int signo, void (*handler)()) ++catch_sig(int signo, void (*handler)(int)) + { + struct sigaction action; + +https://bugs.gentoo.org/731202 +patch out unneedeed strip - portage does it instead, and right. +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -25,7 +25,6 @@ + + all: + cp firewalk $(top_srcdir) +- strip $(top_srcdir)/firewalk + + clean: + rm -f $(top_srcdir)/firewalk diff --git a/net-analyzer/firewalk/files/firewalk-5.0-usage.diff b/net-analyzer/firewalk/files/firewalk-5.0-usage.diff new file mode 100644 index 000000000000..dac54f558135 --- /dev/null +++ b/net-analyzer/firewalk/files/firewalk-5.0-usage.diff @@ -0,0 +1,22 @@ +--- a/include/firewalk.h ++++ b/include/firewalk.h +@@ -280,7 +280,7 @@ + /* dump usage */ + void + usage( +- u_char * /* argv[0] */ ++ char * /* argv[0] */ + ); + + #endif /* _FIREWALK_H */ +--- a/src/main.c ++++ b/src/main.c +@@ -171,7 +171,7 @@ + } + + void +-usage(u_char *argv0) ++usage(char *argv0) + { + fprintf(stderr, "Usage : %s [options] target_gateway metric\n" + "\t\t [-d %d - %d] destination port to use (ramping phase)\n" diff --git a/net-analyzer/firewalk/firewalk-5.0-r3.ebuild b/net-analyzer/firewalk/firewalk-5.0-r3.ebuild new file mode 100644 index 000000000000..d0c6b27e431f --- /dev/null +++ b/net-analyzer/firewalk/firewalk-5.0-r3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A tool for determining a firewall's rule set" +HOMEPAGE="http://packetfactory.openwall.net/projects/firewalk/" +SRC_URI="mirror://gentoo/${P}.tgz" +S=${WORKDIR}/${PN^} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +DEPEND=" + dev-libs/libdnet + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} +" +DOCS=( README TODO BUGS ) +PATCHES=( + "${FILESDIR}"/${P}-gcc3.4.diff + "${FILESDIR}"/${P}-usage.diff + "${FILESDIR}"/${P}-signal.patch +) + +src_prepare() { + default + + # bug https://bugs.gentoo.org/899922 + eautoreconf +} + +src_install() { + default + doman man/firewalk.8 +} diff --git a/net-analyzer/firewalk/metadata.xml b/net-analyzer/firewalk/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/firewalk/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/flow-tools/Manifest b/net-analyzer/flow-tools/Manifest new file mode 100644 index 000000000000..958d870d3dc3 --- /dev/null +++ b/net-analyzer/flow-tools/Manifest @@ -0,0 +1 @@ +DIST flow-tools-0.68.6.tar.gz 1078778 BLAKE2B 8a6179e44f2efa90bb2c3ace73bfbb8a928c1d7aabc8f47a778ca7361a92c13f2df168194bdd9c489c175079c1bd977f6ad9852711a62d99649d1f44609d746b SHA512 fc3d0650ace93ec2180340624648b5967fd7f094900f8409e751b439eb659c9623e2ee55effeb74164ec6b15f0a1edd8ed7735ccfacfd72af08e9c5c0d65b740 diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-fno-common.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-fno-common.patch new file mode 100644 index 000000000000..1f7464919960 --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-fno-common.patch @@ -0,0 +1,42 @@ +--- a/src/acl2.h ++++ b/src/acl2.h +@@ -48,7 +48,7 @@ + #define ACL_TYPE_STD 1 + #define ACL_TYPE_EXT 2 + +-struct acl_list { ++typedef struct acl_list { + int num; /* number of entries */ + int num_std; /* number of standard acl entries */ + int num_ext; /* number of extended acl entries */ +@@ -59,6 +59,8 @@ + /* num_ext of these */ + }; + ++extern struct acl_list acl_list; ++ + struct acl_names { + int num; /* index into standard or extended list */ + char *name; /* name of this acl */ +--- a/src/aclyacc.y ++++ b/src/aclyacc.y +@@ -7,8 +7,6 @@ + unsigned char fmt_buf[32]; + unsigned char fmt_buf2[32]; + +-extern struct acl_list acl_list; +- + int x; + + %} +--- a/src/flow-filter.c ++++ b/src/flow-filter.c +@@ -56,8 +56,6 @@ + int debug; + int ip_net_only; + +-struct acl_list acl_list; +- + int yyparse (void); + void usage(void); + void yyerror(const char *msg); diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch new file mode 100644 index 000000000000..cbbddcaae68d --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch @@ -0,0 +1,31 @@ +--- a/lib/ftxlate.c ++++ b/lib/ftxlate.c +@@ -2040,11 +2048,13 @@ + + + /* init crypto */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + if (!(cp->cipher_ctx = (EVP_CIPHER_CTX*) malloc(sizeof(EVP_CIPHER_CTX)))) { + return -1; + } + + EVP_CIPHER_CTX_init(cp->cipher_ctx); ++#endif + + /* disable padding */ + if (!(EVP_CIPHER_CTX_set_padding(cp->cipher_ctx, 0))) { +@@ -2083,10 +2093,14 @@ + { + + #ifdef HAVE_OPENSSL ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_CIPHER_CTX_cleanup(cp->cipher_ctx); + + if (cp->cipher_ctx) + free (cp->cipher_ctx); ++#else ++ EVP_CIPHER_CTX_free(cp->cipher_ctx); ++#endif + #endif /* HAVE_OPENSSL */ + + return 0; diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-run.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-run.patch new file mode 100644 index 000000000000..e1b06eee7e00 --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-run.patch @@ -0,0 +1,22 @@ +--- a/src/flow-fanout.c ++++ b/src/flow-fanout.c +@@ -57,7 +57,7 @@ + #endif + + +-#define FANOUT_PIDFILE "/var/run/flow-fanout.pid" ++#define FANOUT_PIDFILE "/run/flow-fanout.pid" + + #define SELECT_TIMEOUT 5 /* 5 seconds */ + +--- a/src/flow-capture.c ++++ b/src/flow-capture.c +@@ -61,7 +61,7 @@ + + void fterr_exit_handler(int code); + +-#define CAPTURE_PIDFILE "/var/run/flow-capture.pid" ++#define CAPTURE_PIDFILE "/run/flow-capture.pid" + + #define SELECT_TIMEOUT 1 /* 1 second */ + diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.6-c99-c23.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.6-c99-c23.patch new file mode 100644 index 000000000000..06f56bf440c5 --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.6-c99-c23.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/945075 +--- a/lib/ftstat.c ++++ b/lib/ftstat.c +@@ -831,11 +831,11 @@ struct jump { + + struct typelookup { + char *name; +- void* (*f_new)(); +- void* (*f_accum)(); +- void* (*f_calc)(); +- void* (*f_dump)(); +- void* (*f_free)(); ++ void* (*f_new)(struct ftstat_rpt *); ++ void* (*f_accum)(struct ftstat_rpt *, char *, struct fts3rec_offsets *); ++ void* (*f_calc)(struct ftstat_rpt *); ++ void* (*f_dump)(FILE *, struct ftio *, struct ftstat_rpt *); ++ void* (*f_free)(void *); + int allowed_fields; /* FT_STAT_FIELD_* */ + int allowed_options;/* FT_STAT_OPT_* */ + uint64_t xfields; /* FT_XFIELD_* */ +--- a/src/acllex.l ++++ b/src/acllex.l +@@ -1,4 +1,5 @@ + %{ ++#include <ftconfig.h> + #include <ftlib.h> + + #if HAVE_STRINGS_H +--- a/src/flow-print.c ++++ b/src/flow-print.c +@@ -89,9 +89,7 @@ struct jump format[] = {{format0}, {format1}, {format2}, + + void usage(void); + +-int main(argc, argv) +-int argc; +-char **argv; ++int main(int argc, char **argv) + { + struct ftio ftio; + struct ftprof ftp; diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.6-lto.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.6-lto.patch new file mode 100644 index 000000000000..0111d356e0e7 --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.6-lto.patch @@ -0,0 +1,31 @@ +We get a linker warning otherwise from YYSTYPE changing. +--- a/lib/getdate.y ++++ b/lib/getdate.y +@@ -1,3 +1,5 @@ ++%define api.prefix {getdate} ++ + %{ + /* + ** Originally written by Steven M. Bellovin <smb@research.att.com> while +@@ -117,10 +119,6 @@ extern struct tm *localtime(); + extern time_t get_date(char * p, struct timeb * now); + /*@=exportheader@*/ + +-#define yyparse getdate_yyparse +-#define yylex getdate_yylex +-#define yyerror getdate_yyerror +- + static int yyparse (void); + static int yylex (void); + static int yyerror(const char * s); +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,7 +1,7 @@ + + noinst_HEADERS = flow-dscan.h pcap.h cflowd.h acl2.h + +-BUILT_SOURCES = aclyacc.h ++BUILT_SOURCES = aclyacc.h acllex.c + AM_YFLAGS = -d + + EXTRA_DIST = ftbuild.sh diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.6-mysql.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.6-mysql.patch new file mode 100644 index 000000000000..a270567fc205 --- /dev/null +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.6-mysql.patch @@ -0,0 +1,15 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -62,11 +62,9 @@ + if test "x$WHERE_MYSQL" != "x"; then + old_LIBS="$LIBS" + old_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -L$WHERE_MYSQL/lib/mysql" +- AC_CHECK_LIB(mysqlclient, my_init, ++ AC_CHECK_LIB(mysqlclient, mysql_init, + [ + MYSQLCFLAGS="-I$WHERE_MYSQL/include/mysql" +- MYSQLLDFLAGS="-L$WHERE_MYSQL/lib/mysql" + MYSQLLIB="-lmysqlclient" + AC_DEFINE(HAVE_MYSQL, 1, [Do we have to build MySQL support]) + ] diff --git a/net-analyzer/flow-tools/files/flowcapture.confd b/net-analyzer/flow-tools/files/flowcapture.confd new file mode 100644 index 000000000000..e926d64a8eec --- /dev/null +++ b/net-analyzer/flow-tools/files/flowcapture.confd @@ -0,0 +1,51 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Config file for /etc/init.d/flowcap + +# This is the default and should be left unless you know what you are doing +FLOW_VER=5 + +# local ip. if configured flow-capture will only ps flows sent to this ip. +LOCALIP=0 + +# You probably don't want to change this, but in case you do - nest level +NEST=0 + +# port to listen on +PORT=2055 + +# remote ip. If this is configured only flows from this exporter will be accepted +# by default we will accept any flows sent to us +REMOTEIP=0 + +# program used to rotate +ROTATE_PROG="/var/lib/flows/bin/linkme" + +# number of rotations per day +ROTATIONS=287 + +# Retain the maximum number of files so that the total storage is less than SIZE +# The letters b,K,M,G can be used as multipliers, ie 16 Megabytes is 16M. +SIZE=1G + +# interval in mins at which flowscan will print out stats in logs +#STAT_INT=5 +# NOTE: with versions of flow-tools >=0.67 there is a bug that will cause a loop if you specify the STAT_INT +# Only use that variable if you using an older flow-tools (and consequently a custom built ebuild as this config file is not in our older ebuilds) + +# dir we will be saving flows and working in +WORKDIR=/var/lib/flows/ft + +# user to run as +USER=flows + +# Pidfile base +# The daemon takes the pidfile argument and APPENDS .$PORT itself in writing. +# It may have multiple children by original design, but this is not recommended +# for Gentoo at this time. +PIDFILE_BASE=${PIDFILE_BASE:=/run/flows/flowcapture.pid} + +# This pulls in the options above +FLOW_OPTS="-p $PIDFILE_BASE -w $WORKDIR $LOCALIP/$REMOTEIP/$PORT -V $FLOW_VER -E $SIZE -n $ROTATIONS -N $NEST -R $ROTATE_PROG" +# Use below only if you have sorted out the STAT_INT problem +#FLOW_OPTS="-p /run/flows/flowcapture.pid.$PORT -w $WORKDIR $LOCALIP/$REMOTEIP/$PORT -S $STAT_INT -V $FLOW_VER -E $SIZE -n $ROTATIONS -N $NEST -R $ROTATE_PROG" diff --git a/net-analyzer/flow-tools/files/flowcapture.initd b/net-analyzer/flow-tools/files/flowcapture.initd new file mode 100644 index 000000000000..c6fc34728799 --- /dev/null +++ b/net-analyzer/flow-tools/files/flowcapture.initd @@ -0,0 +1,30 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PORT=${PORT:=2055} +# The daemon takes the pidfile argument and APPENDS .$PORT itself in writing. +# It may have multiple children by original design, but this is not recommended +# for Gentoo at this time. +PIDFILE_BASE=${PIDFILE_BASE:=/run/flows/flowcapture.pid} +PIDFILE=${PIDFILE:=${PIDFILE_BASE}.${PORT}} + +depend() { + use net +} + +start() { + ebegin "Starting flow-capture" + checkpath -d -o flows /run/flows + start-stop-daemon --start --user ${USER} --exec /usr/bin/flow-capture \ + --pidfile ${PIDFILE} \ + -- ${FLOW_OPTS} >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping flow-capture" + start-stop-daemon --stop --quiet --exec /usr/bin/flow-capture \ + --pidfile ${PIDFILE} + eend $? +} diff --git a/net-analyzer/flow-tools/files/linkme b/net-analyzer/flow-tools/files/linkme new file mode 100644 index 000000000000..4f666d903d42 --- /dev/null +++ b/net-analyzer/flow-tools/files/linkme @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$base = "/var/lib/flows"; +if ($ARGV[0] =~ /.*[\/]*(ft-v05[^\/]*$)/) { +$fileName = $1; +} else { +print "Must specify file\n"; +exit 1; +} + +unless ( symlink("$base/ft/$fileName","$base/$fileName") ) { +print "Unable to create symbolic link: $base/$fileName\n"; +exit 1; +} + diff --git a/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild b/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild new file mode 100644 index 000000000000..9f62f5b10615 --- /dev/null +++ b/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools eapi9-ver + +DESCRIPTION="library and programs to process reports from NetFlow data" +HOMEPAGE="https://github.com/5u623l20/flow-tools/" +SRC_URI="https://github.com/5u623l20/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD GPL-3" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="debug mysql postgres ssl static-libs" + +RDEPEND=" + acct-group/flows + acct-user/flows + sys-apps/tcp-wrappers + virtual/zlib:= + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:* ) + ssl? ( dev-libs/openssl:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/docbook-sgml-utils + app-alternatives/lex + sys-devel/bison +" + +DOCS=( ChangeLog.old README README.fork SECURITY TODO TODO.old ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.68.5.1-run.patch + "${FILESDIR}"/${PN}-0.68.5.1-openssl11.patch + "${FILESDIR}"/${PN}-0.68.5.1-fno-common.patch + "${FILESDIR}"/${PN}-0.68.6-mysql.patch + "${FILESDIR}"/${PN}-0.68.6-c99-c23.patch + "${FILESDIR}"/${PN}-0.68.6-lto.patch +) + +src_prepare() { + default + + sed -i -e 's|docbook-to-man|docbook2man|g' docs/Makefile.am || die + eautoreconf +} + +src_configure() { + # Needs bison specifically for LTO patch (for setting a prefix) + unset YACC + + local myeconfargs=( + $(use_enable static-libs static) + + # configure logic is buggy + $(usev mysql --with-mysql) + --with-postgresql=$(usex postgres yes no) + $(usev ssl --with-openssl) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + exeinto /var/lib/flows/bin + doexe "${FILESDIR}"/linkme + + keepdir /var/lib/flows/ft + + newinitd "${FILESDIR}/flowcapture.initd" flowcapture + newconfd "${FILESDIR}/flowcapture.confd" flowcapture + + fowners flows:flows /var/lib/flows + fowners flows:flows /var/lib/flows/bin + fowners flows:flows /var/lib/flows/ft + + fperms 0755 /var/lib/flows + fperms 0755 /var/lib/flows/bin + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if ver_replacing -lt 0.68.6-r2 ; then + ewarn "Config files have been moved bak to ${EPREFIX}/etc/flow-tools" + ewarn "after temporarily being in the wrong location of" + ewarn " ${EPREFIX}/etc/flow-tools/flow-tools" + ewarn "See bug #785040." + fi +} diff --git a/net-analyzer/flow-tools/metadata.xml b/net-analyzer/flow-tools/metadata.xml new file mode 100644 index 000000000000..3093fbfbadf4 --- /dev/null +++ b/net-analyzer/flow-tools/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en">Flow-tools is library and a collection of programs used to collect, + send, process, and generate reports from NetFlow data. The tools can be + used together on a single server or distributed to multiple servers for + large deployments. The flow-toools library provides an API for + development of custom applications for NetFlow export versions 1,5,6 and + the 14 currently defined version 8 subversions. A Perl and Python + interface have been contributed and are included in the distribution.</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/flowgrind/Manifest b/net-analyzer/flowgrind/Manifest new file mode 100644 index 000000000000..30f4e0a2a403 --- /dev/null +++ b/net-analyzer/flowgrind/Manifest @@ -0,0 +1 @@ +DIST flowgrind-0.8.2.tar.bz2 264486 BLAKE2B f0135abad43066895ce9acfb0050d12a22054d03f59e48164cde0444b3677a7581e86f25a5a967279432c95a65811135a5ce28da0f041553bca6299aabd783fa SHA512 6d1395881f45fb04b2c73bc7e01cea6610795b58f59c297577c8f30942c81334e8e95cefb2331e5e40dc5f4df64a21307a94d471113251fd3127272cd081bb7b diff --git a/net-analyzer/flowgrind/flowgrind-0.8.2.ebuild b/net-analyzer/flowgrind/flowgrind-0.8.2.ebuild new file mode 100644 index 000000000000..61eabf771920 --- /dev/null +++ b/net-analyzer/flowgrind/flowgrind-0.8.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Network performance measurement tool" +HOMEPAGE="http://flowgrind.net/ https://github.com/flowgrind/flowgrind/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc gsl pcap" + +RDEPEND="dev-libs/xmlrpc-c:=[abyss,curl] + sys-apps/util-linux + gsl? ( sci-libs/gsl:= ) + pcap? ( net-libs/libpcap )" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( app-text/doxygen )" + +src_configure() { + econf \ + --disable-debug \ + $(use_with doc doxygen) \ + $(use_with gsl) \ + $(use_with pcap) +} + +src_compile() { + default + + use doc && emake html +} + +src_install() { + default + + use doc && dodoc -r doc/html +} diff --git a/net-analyzer/flowgrind/metadata.xml b/net-analyzer/flowgrind/metadata.xml new file mode 100644 index 000000000000..45bf9091663a --- /dev/null +++ b/net-analyzer/flowgrind/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="pcap">Enable packet capturing support using <pkg>net-libs/libpcap</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/fping/Manifest b/net-analyzer/fping/Manifest new file mode 100644 index 000000000000..0adead5abd42 --- /dev/null +++ b/net-analyzer/fping/Manifest @@ -0,0 +1,4 @@ +DIST fping-5.1.tar.gz 191224 BLAKE2B 2fb344e650b5a359fb8780f2c599455d39405ae823edf695ee4385aa2661dc5811e088bafa1b9f53846ee90c0afa959a92832381a03346d1fda048eb4e7ee098 SHA512 1a208da8dcd99093d0512af5d85ba5e7b5743ec97993d24c1fe612bb58d93090ac1ba0952f648aa075f16d390a77c4be65e394ae56dbede2a6914e0e8c68e2bd +DIST fping-5.2.tar.gz 194259 BLAKE2B 7efb445f32ffe2d3766d598da5f1585270ae8e68ceb8b64e418040f330e7736bfaf0313077e28b12031af25ed7952943603d3a5908174c3f78d9a1af0b735da9 SHA512 062896662804c55ffe2d4e3eb7efc2ff796d20a77b367e16f8fa381e302986b5127ca55f0866bbf08f8ae2b2f6795ec4c5d43dc59ebec157fb3e8eff25d0bdb3 +DIST fping-5.3.tar.gz 197370 BLAKE2B cc7b8bd2c8099c8bfb5e14d5b27f45cf1dc1aef24f941f5bf9c7aede95dac9472d2fe4033e8b7ea66fea8d901b99a7c908e7beff5484c0577c3f88517ef1a7ea SHA512 b8cdc6bbd64cc854387b3868843e14d493ddae5ed3edbdc907326e16f1a9418a4bff3c9d07611edd0e78c055bca735ff7d326ef154b34e32b2d2d35956eb06fe +DIST fping-5.4.tar.gz 195770 BLAKE2B b3c2f3ac8cb2d27593ad7a937c2fb27ab67bef3cd0d912a2a08b52bf9a96b2e5a5637567f0ef1203f86fefc99036a78ee05d69f175bdb1c2d62b6eaf6e474284 SHA512 377032bb1a104fdf7b9cf785808ae2aa23b83e60aab7288096c5a0f27657c1c40da1390f4fe8c7d52a6c3d43b7bf7e84065443b6e7fe73b9e51715623012c6b5 diff --git a/net-analyzer/fping/files/fping-5.1-c99-musl.patch b/net-analyzer/fping/files/fping-5.1-c99-musl.patch new file mode 100644 index 000000000000..d56bb501682c --- /dev/null +++ b/net-analyzer/fping/files/fping-5.1-c99-musl.patch @@ -0,0 +1,39 @@ +https://bugs.gentoo.org/895182 +https://github.com/schweikert/fping/commit/c0fbccb977c523ba671afdf0f37de40d26351f77 + +From c0fbccb977c523ba671afdf0f37de40d26351f77 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 29 Aug 2022 15:41:51 -0700 +Subject: [PATCH] fping: Initialize msghdr struct in a portable way + +Initializing the structure assuming glibc layout results in +compile errors on musl, therefore do partial intialization and then +assigning the members individually. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/src/fping.c ++++ b/src/fping.c +@@ -1962,15 +1962,13 @@ int receive_packet(int64_t wait_time, + reply_buf, + reply_buf_len + }; +- struct msghdr recv_msghdr = { +- reply_src_addr, +- reply_src_addr_len, +- &msg_iov, +- 1, +- &msg_control, +- sizeof(msg_control), +- 0 +- }; ++ struct msghdr recv_msghdr = {0}; ++ recv_msghdr.msg_name = reply_src_addr; ++ recv_msghdr.msg_namelen = reply_src_addr_len; ++ recv_msghdr.msg_iov = &msg_iov; ++ recv_msghdr.msg_iovlen = 1; ++ recv_msghdr.msg_control = &msg_control; ++ recv_msghdr.msg_controllen = sizeof(msg_control); + #if HAVE_SO_TIMESTAMPNS + struct cmsghdr *cmsg; + #endif + diff --git a/net-analyzer/fping/fping-5.1-r1.ebuild b/net-analyzer/fping/fping-5.1-r1.ebuild new file mode 100644 index 000000000000..08249530baa5 --- /dev/null +++ b/net-analyzer/fping/fping-5.1-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps + +DESCRIPTION="A utility to ping multiple hosts at once" +HOMEPAGE="https://fping.org/ https://github.com/schweikert/fping/" +SRC_URI="https://fping.org/dist/${P}.tar.gz" + +LICENSE="fping" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="suid" + +FILECAPS=( cap_net_raw+ep usr/sbin/fping ) + +PATCHES=( + "${FILESDIR}"/${PN}-5.1-c99-musl.patch +) + +src_configure() { + econf --enable-ipv6 +} + +src_install() { + default + + if use suid; then + fperms u+s /usr/sbin/fping + fi + + dosym fping /usr/sbin/fping6 +} diff --git a/net-analyzer/fping/fping-5.2.ebuild b/net-analyzer/fping/fping-5.2.ebuild new file mode 100644 index 000000000000..48430ee22144 --- /dev/null +++ b/net-analyzer/fping/fping-5.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps + +DESCRIPTION="Utility to ping multiple hosts at once" +HOMEPAGE="https://fping.org/ https://github.com/schweikert/fping/" +SRC_URI=" + https://fping.org/dist/${P}.tar.gz + https://github.com/schweikert/fping/releases/download/v${PV}/${P}.tar.gz +" + +LICENSE="fping" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="debug suid" +# There are some tests in ci/* but they don't seem to be for packaging +# (they want to modify the live FS by e.g. copying to /tmp.) +RESTRICT="test" + +FILECAPS=( cap_net_raw+ep usr/sbin/fping ) + +src_configure() { + econf \ + $(use_enable debug) \ + --enable-ipv6 +} + +src_install() { + default + + if use suid; then + fperms u+s /usr/sbin/fping + fi + + dosym fping /usr/sbin/fping6 +} diff --git a/net-analyzer/fping/fping-5.3.ebuild b/net-analyzer/fping/fping-5.3.ebuild new file mode 100644 index 000000000000..48430ee22144 --- /dev/null +++ b/net-analyzer/fping/fping-5.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps + +DESCRIPTION="Utility to ping multiple hosts at once" +HOMEPAGE="https://fping.org/ https://github.com/schweikert/fping/" +SRC_URI=" + https://fping.org/dist/${P}.tar.gz + https://github.com/schweikert/fping/releases/download/v${PV}/${P}.tar.gz +" + +LICENSE="fping" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="debug suid" +# There are some tests in ci/* but they don't seem to be for packaging +# (they want to modify the live FS by e.g. copying to /tmp.) +RESTRICT="test" + +FILECAPS=( cap_net_raw+ep usr/sbin/fping ) + +src_configure() { + econf \ + $(use_enable debug) \ + --enable-ipv6 +} + +src_install() { + default + + if use suid; then + fperms u+s /usr/sbin/fping + fi + + dosym fping /usr/sbin/fping6 +} diff --git a/net-analyzer/fping/fping-5.4.ebuild b/net-analyzer/fping/fping-5.4.ebuild new file mode 100644 index 000000000000..a406a3ce3f73 --- /dev/null +++ b/net-analyzer/fping/fping-5.4.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps + +DESCRIPTION="Utility to ping multiple hosts at once" +HOMEPAGE="https://fping.org/ https://github.com/schweikert/fping/" +SRC_URI=" + https://fping.org/dist/${P}.tar.gz + https://github.com/schweikert/fping/releases/download/v${PV}/${P}.tar.gz +" + +LICENSE="fping" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="debug suid" +# There are some tests in ci/* but they don't seem to be for packaging +# (they want to modify the live FS by e.g. copying to /tmp.) +RESTRICT="test" + +FILECAPS=( cap_net_raw+ep usr/sbin/fping ) + +src_configure() { + econf \ + $(use_enable debug) \ + --enable-ipv6 +} + +src_install() { + default + + if use suid; then + fperms u+s /usr/sbin/fping + fi + + dosym fping /usr/sbin/fping6 +} diff --git a/net-analyzer/fping/metadata.xml b/net-analyzer/fping/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/fping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/fprobe/Manifest b/net-analyzer/fprobe/Manifest new file mode 100644 index 000000000000..0bbcd5d5901a --- /dev/null +++ b/net-analyzer/fprobe/Manifest @@ -0,0 +1 @@ +DIST fprobe-1.1.tar.bz2 104358 BLAKE2B 960fd8941ec2a7656b9eb02a0b6ae091b6ab564b4f97aa8147ce1bc3785964008168a1ac43a3fbe2e342987ee68fff711648edb910a059222017fe1282205e8e SHA512 35fa4bedf2c615093b6637630322115e12f005bc43186b86c55c6bdc76ae5308dd31e1d05632e26e07a30fba88d76b9acc98632bee4f372edcf9df5da3e32210 diff --git a/net-analyzer/fprobe/files/conf.d-fprobe-r1 b/net-analyzer/fprobe/files/conf.d-fprobe-r1 new file mode 100644 index 000000000000..ca7aff4e4341 --- /dev/null +++ b/net-analyzer/fprobe/files/conf.d-fprobe-r1 @@ -0,0 +1,72 @@ +# Config file for /etc/init.d/fprobe + +# Do we want the interface in promiscous mode [yes/no] +#PROMISC=no + +# Interface +IFACE=eth0 + +# required: only capture packets matching this tcpdump expression +# default is all IP + IPv6 +FILTER="ip or ip6" + +# Flow state timers +#TIMER_EXPIRED=5 +#TIMER_FRAGMENTED=30 +#TIMER_IDLE=60 +#TIMER_ACTIVE=300 + +# This is the default and should be left unless you know what you are doing +#FLOW_VER=5 + +# local ip. if configured fprobe will use this as the source IP for sending ALL flow data +# If you want to specify a specific source address per collecter, customize it below +#LOCALIP= + +# SNMP iface id +SNMP_IFACE="${IFACE#eth}" + +# Maximum number of concurrent flows to track +# using a specified amount of memory +#MEMBULK=10000 +#MEMLIMIT= + +# Pending queue +#PENDING=100 + +# Kernel capture buffer size (kB) +#KERNBUF=1024 + +# Realtime priority [0=disabled, 1..99] +#RTPRIO=0 + +# Delay N nanoseconds after each B bytes +#DELAY="0:0" + +# How much of the start of each packet to grab +#SNAPLEN=256 + +# chroot() to this location after startup +CHROOT="/var/empty" + +# User to run as. must have perms to the pidfile directory /var/run/fprobe/ +USER=nobody + +# logging level for syslog (0=EMERG, ..., 6=INFO, 7=DEBUG) +#LOGLEVEL=6 + +# If you want to run multiple instances of fprobe, +# You MUST set this variable to a unique INTEGER for each one! +PIDFILE_ID='' + +# remote ip. this is where we send flows +REMOTEIP=127.0.0.1 +# port to listen on +PORT=2055 +# Collector type, see the manpage for valid types +TYPE='' + +# If you want multiple collectors, just specify each one here +COLLECTORS="${REMOTEIP}:${PORT}/${LOCALIP}/${TYPE}" + +# vim:ft=gentoo-conf-d: diff --git a/net-analyzer/fprobe/files/fprobe-1.1-autoconf.patch b/net-analyzer/fprobe/files/fprobe-1.1-autoconf.patch new file mode 100644 index 000000000000..9adccbe127e3 --- /dev/null +++ b/net-analyzer/fprobe/files/fprobe-1.1-autoconf.patch @@ -0,0 +1,315 @@ +https://bugs.gentoo.org/921189 + +Fix various underquoting issues and use of old macros. +--- a/configure.in ++++ b/configure.in +@@ -3,44 +3,42 @@ define([AC_CACHE_LOAD], ) + define([AC_CACHE_SAVE], ) + + AC_INIT +-AC_CANONICAL_SYSTEM +-AM_INIT_AUTOMAKE(fprobe,1.1) +-AM_CONFIG_HEADER(config.h) ++AC_CANONICAL_HOST ++AM_INIT_AUTOMAKE([fprobe], [1.1]) ++AM_CONFIG_HEADER([config.h]) + + AC_PROG_CC + AC_PROG_INSTALL + +-AC_CHECK_LIB(pthread, pthread_create, , +- AC_CHECK_LIB(c_r, pthread_create), , +- [AC_ERROR(POSIX threads not found)]) +-AC_SEARCH_LIBS(socket, socket) +-AC_SEARCH_LIBS(gethostbyname, nsl) +-AC_SEARCH_LIBS(sched_setscheduler, rt) ++AC_CHECK_LIB([pthread], [pthread_create], [], [AC_CHECK_LIB([c_r], [pthread_create], [], [AC_MSG_ERROR(POSIX threads not found)])]) ++AC_SEARCH_LIBS([socket], [socket]) ++AC_SEARCH_LIBS([gethostbyname], [nsl]) ++AC_SEARCH_LIBS([sched_setscheduler], [rt]) + + dnl ************************************************ + dnl inttypes + +-AC_CHECK_HEADER(inttypes.h, , +- [AC_CHECK_SIZEOF(int, 8) +- AC_CHECK_SIZEOF(long, 8) +- AC_CHECK_SIZEOF(long long, 8)] +-) ++AC_CHECK_HEADER([inttypes.h], [], [ ++ AC_CHECK_SIZEOF([int], [8]) ++ AC_CHECK_SIZEOF([long], [8]) ++ AC_CHECK_SIZEOF([long long], [8]) ++]) + + dnl ************************************************ + dnl OS type + +-case "${target}" in ++case "${host}" in + *-*-*linux*) +- AC_DEFINE_UNQUOTED(OS_LINUX, , OS type) +- AC_DEFINE_UNQUOTED(CLONEBASED_THREADS, , clone()-based threads) ++ AC_DEFINE_UNQUOTED([OS_LINUX], [], [OS type]) ++ AC_DEFINE_UNQUOTED([CLONEBASED_THREADS], [], [clone()-based threads]) + CFLAGS="$CFLAGS -D_BSD_SOURCE" + ;; + *-*-solaris*) +- AC_DEFINE_UNQUOTED(OS_SOLARIS, , OS type) ++ AC_DEFINE_UNQUOTED([OS_SOLARIS], [], [OS type]) + CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" + ;; + *-*-freebsd*) +- AC_DEFINE_UNQUOTED(OS_FREEBSD, , OS type) ++ AC_DEFINE_UNQUOTED([OS_FREEBSD], [], [OS type]) + CFLAGS="$CFLAGS -pthread" + ;; + esac +@@ -48,12 +46,12 @@ esac + dnl ************************************************ + dnl pcap.h location + +-AC_ARG_WITH(pcap, ++AC_ARG_WITH([pcap], + [ --with-pcap=DIR pcap.h location], +- pcap="$withval") ++ [pcap="$withval"]) + +-AC_CHECK_HEADER(pcap.h, , [ +- AC_MSG_CHECKING(for pcap.h in alternative location) ++AC_CHECK_HEADER([pcap.h], [] , [ ++ AC_MSG_CHECKING([for pcap.h in alternative location]) + found="" + pcap_dirs="$pcap /usr/include/pcap" + for pcap in $pcap_dirs; do +@@ -64,18 +62,18 @@ AC_CHECK_HEADER(pcap.h, , [ + fi + done + +- AC_MSG_RESULT($found) ++ AC_MSG_RESULT([$found]) + if test -z "$found"; then +- AC_ERROR(pcap.h not found) ++ AC_MSG_ERROR([pcap.h not found]) + fi + ]) + + dnl ************************************************ + dnl libpcap location + +-AC_ARG_WITH(libpcap, ++AC_ARG_WITH([libpcap], + [ --with-libpcap=DIR libpcap location], +- libpcap="$withval") ++ [libpcap="$withval"]) + + if test "$libpcap" = "yes"; then + libpcap="" +@@ -85,15 +83,15 @@ if test "$libpcap"; then + LDFLAGS="$LDFLAGS -L$libpcap" + fi + +-AC_CHECK_LIB(pcap, pcap_loop, , AC_ERROR(libpcap not found), $LDFLAGS) ++AC_CHECK_LIB([pcap], [pcap_loop], [], [AC_MSG_ERROR(libpcap not found)], [$LDFLAGS]) + + dnl ************************************************ + dnl Memory bulk indexing mode + +-AC_MSG_CHECKING(which memory bulk indexing mode to use) +-AC_ARG_WITH(membulk, ++AC_MSG_CHECKING([which memory bulk indexing mode to use]) ++AC_ARG_WITH([membulk], + [ --with-membulk=MODE indexing mode: index8|index16|ptr [default=ptr]], +- mem="$withval", mem="ptr") ++ [mem="$withval"], [mem="ptr"]) + + case "$mem" in + ptr) +@@ -106,95 +104,95 @@ case "$mem" in + mem_bits="16" + ;; + *) +- AC_ERROR(Invalid argument: "$mem") ++ AC_MSG_ERROR([Invalid argument: "$mem"]) + ;; + esac + +-AC_MSG_RESULT("$mem") +-AC_DEFINE_UNQUOTED(MEM_BITS, $mem_bits, Memory bulk indexing mode) ++AC_MSG_RESULT([$mem]) ++AC_DEFINE_UNQUOTED([MEM_BITS], [$mem_bits], [Memory bulk indexing mode]) + + dnl ************************************************ + dnl Hash type + +-AC_MSG_CHECKING(which hash type and size to use) +-AC_ARG_WITH(hash, ++AC_MSG_CHECKING([which hash type and size to use]) ++AC_ARG_WITH([hash], + [ --with-hash=TYPE hash type: crc16|xor16|xor8 [default=crc16]], +- hash="$withval", hash="crc16") ++ [hash="$withval"], [hash="crc16"]) + + hash_type=`echo "$hash"|cut -b -3` + hash_bits=`echo "$hash"|cut -b 4-` + + if test "$hash_type" = "xor"; then +- AC_DEFINE_UNQUOTED(HASH_TYPE_XOR, , Hash type) ++ AC_DEFINE_UNQUOTED([HASH_TYPE_XOR], [], [Hash type]) + if test "$hash_bits" != "8" -a "$hash_bits" != "16"; then +- AC_ERROR(Invalid argument: "$withval") ++ AC_MSG_ERROR([Invalid argument: "$withval"]) + fi + else + if test "$hash" != "crc16"; then +- AC_ERROR(Invalid argument: "$hash") ++ AC_MSG_ERROR([Invalid argument: "$hash"]) + fi +- AC_DEFINE_UNQUOTED(HASH_TYPE_CRC, , Hash type) ++ AC_DEFINE_UNQUOTED([HASH_TYPE_CRC], [], [Hash type]) + fi + +-AC_DEFINE_UNQUOTED(HASH_BITS, $hash_bits , Hash size) +-AC_MSG_RESULT("$hash") ++AC_DEFINE_UNQUOTED([HASH_BITS], [$hash_bits], [Hash size]) ++AC_MSG_RESULT([$hash]) + + dnl ************************************************ + dnl Uptime trick + +-AC_MSG_CHECKING(whether to enable uptime trick) +-AC_ARG_ENABLE(uptime_trick, ++AC_MSG_CHECKING([whether to enable uptime trick]) ++AC_ARG_ENABLE([uptime_trick], + [ --enable-uptime_trick enable uptime trick [default=yes]], +- uptime_trick="$enableval", uptime_trick="yes") ++ [uptime_trick="$enableval"], [uptime_trick="yes"]) + case "$uptime_trick" in + yes) +- AC_MSG_RESULT(yes) +- AC_DEFINE_UNQUOTED(UPTIME_TRICK, , Uptime trick) ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE_UNQUOTED([UPTIME_TRICK], [], [Uptime trick]) + ;; + *) +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT([no]) + ;; + esac + + dnl ************************************************ + dnl ICMP trick + +-AC_MSG_CHECKING(whether to enable icmp trick) +-AC_ARG_ENABLE(icmp_trick, ++AC_MSG_CHECKING([whether to enable icmp trick]) ++AC_ARG_ENABLE([icmp_trick], + [ --enable-icmp_trick enable icmp trick: yes|cisco|no [default=yes]], +- icmp_trick="$enableval", icmp_trick="yes") ++ [icmp_trick="$enableval"], [icmp_trick="yes"]) + case "$icmp_trick" in + yes) +- AC_MSG_RESULT(yes) +- AC_DEFINE_UNQUOTED(ICMP_TRICK, , ICMP trick) ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE_UNQUOTED([ICMP_TRICK], [], [ICMP trick]) + ;; + cisco) +- AC_MSG_RESULT(yes: cisco) +- AC_DEFINE_UNQUOTED(ICMP_TRICK_CISCO, , ICMP trick) ++ AC_MSG_RESULT([yes: cisco]) ++ AC_DEFINE_UNQUOTED([ICMP_TRICK_CISCO], [], [ICMP trick]) + ;; + *) +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT([no]) + ;; + esac + + dnl ************************************************ + dnl Debugging output + +-AC_MSG_CHECKING(whether to enable debugging) ++AC_MSG_CHECKING([whether to enable debugging]) + AC_ARG_ENABLE(debug, + [ --enable-debug enable debugging [default=no]], +- debug="$enableval", debug="no") ++ [debug="$enableval"], [debug="no"]) + case "$debug" in + no) +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT([no]) + debug_val="0" + ;; + yes) +- AC_MSG_RESULT(all) ++ AC_MSG_RESULT([all]) + debug_val="-1" + ;; + *) +- AC_MSG_RESULT(custom: $debug) ++ AC_MSG_RESULT([custom: $debug]) + debug_val="0" + debug=`echo $debug|tr , " "` + for i in $debug; do +@@ -202,43 +200,44 @@ case "$debug" in + done + ;; + esac +-AC_DEFINE_UNQUOTED(DEBUG, ($debug_val) , Debugging output) ++AC_DEFINE_UNQUOTED([DEBUG], [$debug_val], [Debugging output]) + + dnl ************************************************ + dnl Runtime messages + +-AC_MSG_CHECKING(whether to enable runtime messages) +-AC_ARG_ENABLE(messages, ++AC_MSG_CHECKING([whether to enable runtime messages]) ++AC_ARG_ENABLE([messages], + [ --enable-messages enable runtime messages [default=no]], +- messages="$enableval", messages="no") ++ [messages="$enableval"], [messages="no"]) + case "$messages" in + yes) +- AC_MSG_RESULT(yes) +- AC_DEFINE_UNQUOTED(MESSAGES, , Runtime messages) ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE_UNQUOTED([MESSAGES], [], [Runtime messages]) + ;; + *) +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT([no]) + ;; + esac + + dnl ************************************************ + dnl Pidfiles location + +-AC_MSG_CHECKING(directory to store pidfiles) +-AC_ARG_WITH(piddir, ++AC_MSG_CHECKING([directory to store pidfiles]) ++AC_ARG_WITH([piddir], + [ --with-piddir=DIR pidfiles location [default=/var/run]], +- piddir="$withval", piddir="/var/run") +- AC_DEFINE_UNQUOTED(PID_DIR, "$piddir", Pidfiles location) +- AC_MSG_RESULT("$piddir") ++ [piddir="$withval"], [piddir="/var/run"]) ++AC_DEFINE_UNQUOTED([PID_DIR], ["$piddir"], [Pidfiles location]) ++AC_MSG_RESULT([$piddir]) + + dnl ************************************************ + + CFLAGS="$CFLAGS -D_REENTRANT" + CFLAGS="$CFLAGS -DWALL -W -Wall" + +-AC_SUBST(PACKAGE) +-AC_SUBST(VERSION) ++AC_SUBST([PACKAGE]) ++AC_SUBST([VERSION]) + DATE=`date +%Y-%m-%d` +-AC_SUBST(DATE) ++AC_SUBST([DATE]) + +-AC_OUTPUT(Makefile src/Makefile) ++AC_CONFIG_FILES([Makefile src/Makefile]) ++AC_OUTPUT diff --git a/net-analyzer/fprobe/files/fprobe-1.1-pidfile-sanity.patch b/net-analyzer/fprobe/files/fprobe-1.1-pidfile-sanity.patch new file mode 100644 index 000000000000..c58c2a97c002 --- /dev/null +++ b/net-analyzer/fprobe/files/fprobe-1.1-pidfile-sanity.patch @@ -0,0 +1,47 @@ +If we are using the chroot() option or the setuid options, we must create the +pidfile before doing the chroot OR the setreuid. It's actually best for +start-stop-daemon if we create the pidfile from the master side of the fork() +before it exits, since most of the startup checks happen after the chroot() +unfortunetly. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +--- a/src/fprobe.c ++++ b/src/fprobe.c +@@ -1379,7 +1379,8 @@ + + my_log_open(ident, verbosity, log_dest); + if (!(log_dest & 2)) { +- switch (fork()) { ++ pid_t childpid = fork(); ++ switch (childpid) { + case -1: + fprintf(stderr, "fork(): %s", strerror(errno)); + exit(1); +@@ -1392,6 +1393,12 @@ + break; + + default: ++ if (!(pidfile = fopen(pidfilepath, "w"))) ++ my_log(LOG_ERR, "Can't create pid file. fopen(): %s", strerror(errno)); ++ else { ++ fprintf(pidfile, "%ld\n", (long) childpid); ++ fclose(pidfile); ++ } + exit(0); + } + } else { +@@ -1548,13 +1555,6 @@ + } + } + +- if (!(pidfile = fopen(pidfilepath, "w"))) +- my_log(LOG_ERR, "Can't create pid file. fopen(): %s", strerror(errno)); +- else { +- fprintf(pidfile, "%ld\n", (long) pid); +- fclose(pidfile); +- } +- + my_log(LOG_INFO, "pid: %d", pid); + my_log(LOG_INFO, "interface: %s, datalink: %s (%d)", + dev, dlt[link_type_idx].descr, link_type); diff --git a/net-analyzer/fprobe/files/fprobe-1.1-setgroups.patch b/net-analyzer/fprobe/files/fprobe-1.1-setgroups.patch new file mode 100644 index 000000000000..948c6fee29c1 --- /dev/null +++ b/net-analyzer/fprobe/files/fprobe-1.1-setgroups.patch @@ -0,0 +1,15 @@ +This seems to fail after the chroot(), so just squelch the exit for now. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +--- a/src/fprobe.c ++++ b/src/fprobe.c +@@ -1543,7 +1543,7 @@ + if (pw) { + if (setgroups(0, NULL) < 0) { + my_log(LOG_CRIT, "setgroups: %s", strerror(errno)); +- exit(1); ++ //exit(1); + } + if (setregid(pw->pw_gid, pw->pw_gid)) { + my_log(LOG_CRIT, "setregid(%u): %s", pw->pw_gid, strerror(errno)); diff --git a/net-analyzer/fprobe/files/init.d-fprobe-r1 b/net-analyzer/fprobe/files/init.d-fprobe-r1 new file mode 100644 index 000000000000..2dc84b8bfbe9 --- /dev/null +++ b/net-analyzer/fprobe/files/init.d-fprobe-r1 @@ -0,0 +1,40 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +BIN=/usr/sbin/fprobe +PIDFILE_EXTRA="" +[ -n "$PIDFILE_ID" ] && PIDFILE_EXTRA="[$PIDFILE_ID]" +PIDFILE="/var/run/fprobe$PIDFILE_EXTRA.pid" + +start() { + ebegin "Starting fprobe" + local OPTS="" + [ "${PROMISC}" = "yes" ] || OPTS="${OPTS} -p" + for optname in i:IFACE s:TIMER_EXPIRED g:TIME_FRAGMENTED d:TIMER_IDLE \ + e:TIMER_ACTIVE n:FLOW_VER a:LOCALIP x:SNMP_IFACE b:MEMBULK \ + m:MEMLIMIT q:PENDING B:KERNBUF r:RTPRIO t:DELAY S:SNAPLEN \ + c:CHROOT u:USER v:LOGLEVEL ; do + opt="${optname%:*}" optvar="${optname#*:}" + eval optvalue='$'$optvar + [ -n "$optvalue" ] && OPTS="${OPTS} -${opt} ${optvalue}" + done + OPTS="${OPTS} -l 1:${PIDFILE_ID} ${COLLECTORS}" + start-stop-daemon --start --exec $BIN \ + --pidfile ${PIDFILE} \ + -- -f "${FILTER}" ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping fprobe" + start-stop-daemon --stop --quiet --exec $BIN \ + --pidfile ${PIDFILE} + eend $? +} + +# vim:ft=gentoo-init-d: diff --git a/net-analyzer/fprobe/fprobe-1.1-r6.ebuild b/net-analyzer/fprobe/fprobe-1.1-r6.ebuild new file mode 100644 index 000000000000..31aa5507e0c1 --- /dev/null +++ b/net-analyzer/fprobe/fprobe-1.1-r6.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="libpcap-based tool to collect network traffic data and emit it as NetFlow flows" +HOMEPAGE="https://fprobe.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/fprobe/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="debug messages" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/fprobe-1.1-pidfile-sanity.patch + "${FILESDIR}"/fprobe-1.1-setgroups.patch +) + +src_prepare() { + default + + # Clang 16, bug #899924 + eautoreconf +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable messages) +} + +src_install() { + default + + docinto contrib + dodoc contrib/tg.sh + + newinitd "${FILESDIR}"/init.d-fprobe-r1 fprobe + newconfd "${FILESDIR}"/conf.d-fprobe-r1 fprobe +} diff --git a/net-analyzer/fprobe/fprobe-1.1-r7.ebuild b/net-analyzer/fprobe/fprobe-1.1-r7.ebuild new file mode 100644 index 000000000000..6fcab549b32c --- /dev/null +++ b/net-analyzer/fprobe/fprobe-1.1-r7.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="libpcap-based tool to collect network traffic data and emit it as NetFlow flows" +HOMEPAGE="https://fprobe.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/fprobe/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="debug messages" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/fprobe-1.1-pidfile-sanity.patch + "${FILESDIR}"/fprobe-1.1-setgroups.patch + "${FILESDIR}"/fprobe-1.1-autoconf.patch +) + +src_prepare() { + default + + # Clang 16, bug #899924 + eautoreconf +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable messages) +} + +src_install() { + default + + docinto contrib + dodoc contrib/tg.sh + + newinitd "${FILESDIR}"/init.d-fprobe-r1 fprobe + newconfd "${FILESDIR}"/conf.d-fprobe-r1 fprobe +} diff --git a/net-analyzer/fprobe/metadata.xml b/net-analyzer/fprobe/metadata.xml new file mode 100644 index 000000000000..6b628b2365b7 --- /dev/null +++ b/net-analyzer/fprobe/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="messages">enable console messages</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ftester/Manifest b/net-analyzer/ftester/Manifest new file mode 100644 index 000000000000..742337d334b9 --- /dev/null +++ b/net-analyzer/ftester/Manifest @@ -0,0 +1 @@ +DIST ftester-1.0.tar.gz 30821 BLAKE2B 3c0fcd7070d09ef8339fa798334cadeb36459617e8dedffde6e04cdc0b88616fc914bb9660056d5d7fce48a34c06acfd56773a06b98348a03f8f7c0dd9fe0436 SHA512 413929178489c755fb5c876a88510bea28c59f1942a279c332fcd008ecbf4b0fd47e6b15abe1068c134d14c9ab2bdb841ffa280f95f77a819779e7e9626e9cfb diff --git a/net-analyzer/ftester/ftester-1.0.ebuild b/net-analyzer/ftester/ftester-1.0.ebuild new file mode 100644 index 000000000000..a14b04707519 --- /dev/null +++ b/net-analyzer/ftester/ftester-1.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Firewall and Intrusion Detection System testing tool" +HOMEPAGE="http://dev.inversepath.com/trac/ftester" +SRC_URI="http://dev.inversepath.com/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +RDEPEND=" + dev-perl/List-MoreUtils + dev-perl/Net-Pcap + dev-perl/Net-PcapUtils + dev-perl/Net-RawIP + dev-perl/NetPacket +" + +src_install() { + dodoc CREDITS Changelog ftest.conf + doman ${PN}.8 + dosbin ftestd ftest freport +} diff --git a/net-analyzer/ftester/metadata.xml b/net-analyzer/ftester/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ftester/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/fwlogwatch/Manifest b/net-analyzer/fwlogwatch/Manifest new file mode 100644 index 000000000000..5572520f8b49 --- /dev/null +++ b/net-analyzer/fwlogwatch/Manifest @@ -0,0 +1 @@ +DIST fwlogwatch-1.5.tar.bz2 94451 BLAKE2B c0456931dc425df4ec190f1c8bcba21e0784009dae66869a5f5c0371b68d0bdb1bf57c788468f7c9fd32abf8b676a4029bcde7d348c37e4b7f5771bc48f04297 SHA512 d4890596859929ddc6adfd7f9e735e0c414bad40eff6732120a522a8bd4fb8d1442c7d1026f0f3c6ac5c4d51b76a2bac486d04f0fbceae67395c585098afef85 diff --git a/net-analyzer/fwlogwatch/fwlogwatch-1.5-r1.ebuild b/net-analyzer/fwlogwatch/fwlogwatch-1.5-r1.ebuild new file mode 100644 index 000000000000..f8552efe1626 --- /dev/null +++ b/net-analyzer/fwlogwatch/fwlogwatch-1.5-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic strip-linguas toolchain-funcs + +DESCRIPTION="A packet filter and firewall log analyzer" +HOMEPAGE="http://fwlogwatch.inside-security.de/" +SRC_URI="http://fwlogwatch.inside-security.de/sw/${P}.tar.bz2" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="geoip nls zlib" + +RDEPEND=" + virtual/libcrypt:= + geoip? ( dev-libs/geoip ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/lex + nls? ( sys-devel/gettext ) +" + +src_prepare() { + default + + if use nls; then + strip-linguas -i po/ + local lingua pofile + for pofile in po/*.po; do + lingua=${pofile/po\/} + lingua=${lingua/.po} + if ! has ${lingua} ${LINGUAS}; then + sed -i \ + -e "/${lingua}.[mp]o/d" \ + Makefile po/Makefile || die + fi + done + fi + + sed -i \ + -e '/^INSTALL_/s|$| -D|g' \ + -e 's|make|$(MAKE)|g ' \ + Makefile || die +} + +src_configure() { + if ! use zlib; then + sed -i Makefile -e '/^LIBS/ s|-lz||g' || die + else + append-cflags -DHAVE_ZLIB + fi + + if use geoip; then + append-cflags -DHAVE_GEOIP + sed -i Makefile -e '/^LIBS/ s| #| -lGeoIP #|g' || die + fi + + use nls && append-cflags -DHAVE_GETTEXT +} + +src_compile() { + # -std=gnu17 for bug #945298 (signal handlers) + emake \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS} -std=gnu17" \ + LDFLAGS="${LDFLAGS}" + use nls && emake -C po +} + +src_install() { + emake \ + LOCALE_DIR="${D}/usr" INSTALL_DIR="${D}/usr" \ + install + + use nls && emake \ + LOCALE_DIR="${D}/usr" INSTALL_DIR="${D}/usr" \ + install-i18n + + dosbin contrib/fwlw_notify + dosbin contrib/fwlw_respond + + dodoc AUTHORS ChangeLog CREDITS README + + insinto /usr/share/fwlogwatch/contrib + + doins contrib/fwlogsummary.cgi + doins contrib/fwlogsummary_small.cgi + doins contrib/fwlogwatch.php + + insinto /etc + doins fwlogwatch.config +} diff --git a/net-analyzer/fwlogwatch/metadata.xml b/net-analyzer/fwlogwatch/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/fwlogwatch/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gnome-nettool/Manifest b/net-analyzer/gnome-nettool/Manifest new file mode 100644 index 000000000000..3bf87fa30249 --- /dev/null +++ b/net-analyzer/gnome-nettool/Manifest @@ -0,0 +1 @@ +DIST gnome-nettool-42.0.tar.xz 422880 BLAKE2B 847f14781865eb936f0ded28a3f45ffa4ed02a20d335aea95a623795a2bb40bf57a49ecb28b26088c2818d028a401b3ef346806ea60305022bcafc9972094f4e SHA512 a640cd7f2008be870c4c457d3f793e6d31a10457b826641ef3cb9b831ea1d80756abc2a39aef7cb093905adafe41f27ee3c5648b1a6a3a01aa3d3ee7988330ce diff --git a/net-analyzer/gnome-nettool/files/42.0-meson-drop-unused-positional-arguments.patch b/net-analyzer/gnome-nettool/files/42.0-meson-drop-unused-positional-arguments.patch new file mode 100644 index 000000000000..e1da4288a742 --- /dev/null +++ b/net-analyzer/gnome-nettool/files/42.0-meson-drop-unused-positional-arguments.patch @@ -0,0 +1,38 @@ +https://gitlab.gnome.org/GNOME/gnome-nettool/-/merge_requests/3 + +From 1124c3e1fdb8472d30b7636500229aa16cdc1244 Mon Sep 17 00:00:00 2001 +From: Jeremy Bicha <jeremy.bicha@canonical.com> +Date: Wed, 6 Apr 2022 13:05:25 -0400 +Subject: [PATCH] meson: drop unused positional arguments + +This fixes a build error with newer meson +--- + data/meson.build | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index 585e6d3..ed1e8bb 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -20,16 +20,14 @@ desktop_in = configure_file(input: 'gnome-nettool.desktop.in.in', + output: 'gnome-nettool.desktop.in', + configuration: desktop_conf) + +-i18n.merge_file('desktop', +- type: 'desktop', ++i18n.merge_file(type: 'desktop', + input: desktop_in, + output: 'gnome-nettool.desktop', + po_dir: po_dir, + install: true, + install_dir: join_paths(prefix, datadir, 'applications')) + +-i18n.merge_file('appdata', +- type: 'xml', ++i18n.merge_file(type: 'xml', + input: 'gnome-nettool.appdata.xml.in', + output: 'gnome-nettool.appdata.xml', + po_dir: po_dir, +-- +GitLab + diff --git a/net-analyzer/gnome-nettool/gnome-nettool-42.0-r1.ebuild b/net-analyzer/gnome-nettool/gnome-nettool-42.0-r1.ebuild new file mode 100644 index 000000000000..400787c3d48b --- /dev/null +++ b/net-analyzer/gnome-nettool/gnome-nettool-42.0-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit gnome.org gnome2-utils meson python-any-r1 xdg + +DESCRIPTION="Graphical front-ends to various networking command-line" +HOMEPAGE="https://gitlab.gnome.org/Archive/gnome-nettool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" + +DEPEND=" + >=x11-libs/gtk+-3.0.0:3 + >=dev-libs/glib-2.26:2 + gnome-base/libgtop:2= +" +RDEPEND="${DEPEND} + || ( + net-misc/iputils + net-analyzer/tcptraceroute + net-analyzer/traceroute + ) + net-analyzer/nmap + >=net-dns/bind-9.20 + net-misc/netkit-fingerd + net-misc/whois +" +BDEPEND=" + ${PYTHON_DEPS} + app-text/yelp-tools + virtual/pkgconfig + sys-devel/gettext +" + +PATCHES=( + "${FILESDIR}"/${PV}-meson-drop-unused-positional-arguments.patch +) + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/net-analyzer/gnome-nettool/gnome-nettool-42.0.ebuild b/net-analyzer/gnome-nettool/gnome-nettool-42.0.ebuild new file mode 100644 index 000000000000..1ff32d6b6e51 --- /dev/null +++ b/net-analyzer/gnome-nettool/gnome-nettool-42.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit gnome.org gnome2-utils meson python-any-r1 xdg + +DESCRIPTION="Graphical front-ends to various networking command-line" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-nettool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ppc ~ppc64 ~sparc x86" + +DEPEND=" + >=x11-libs/gtk+-3.0.0:3 + >=dev-libs/glib-2.26:2 + gnome-base/libgtop:2= +" +RDEPEND="${DEPEND} + || ( + net-misc/iputils + net-analyzer/tcptraceroute + net-analyzer/traceroute + ) + net-analyzer/nmap + net-dns/bind-tools + net-misc/netkit-fingerd + net-misc/whois +" +BDEPEND=" + ${PYTHON_DEPS} + app-text/yelp-tools + virtual/pkgconfig + sys-devel/gettext +" + +PATCHES=( + "${FILESDIR}"/${PV}-meson-drop-unused-positional-arguments.patch +) + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/net-analyzer/gnome-nettool/metadata.xml b/net-analyzer/gnome-nettool/metadata.xml new file mode 100644 index 000000000000..f6b6cde5f785 --- /dev/null +++ b/net-analyzer/gnome-nettool/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/goaccess/Manifest b/net-analyzer/goaccess/Manifest new file mode 100644 index 000000000000..f9dd67d760d4 --- /dev/null +++ b/net-analyzer/goaccess/Manifest @@ -0,0 +1,2 @@ +DIST goaccess-1.8.1.tar.gz 740177 BLAKE2B cc1f17c72adeeaf50d3b6c7bef47a044a3bbf06fb44d73da9b1ae68ea71d8e276dbe02c6a89cf0a72f3327e817e8d59235f788d29aeb7c7c889bacf81b64292a SHA512 96f0b73f13cfb77ad57748bce7d8791f8486bfd5ce47420d1c0016826a4deb9ab2d2742f4afd5d8b0eed003f9b596aae51f232fa71bf47f823b6ff8119f91354 +DIST goaccess-1.9.3.tar.gz 821878 BLAKE2B 99a3a0f9b73a24bb871df2eb16be44dfefbe8fdcd9f10aec66beca98bae65a8b98085c58168c35407f53cf599cf33bc930247f7f7241742ca7750ef68236992e SHA512 6f838d006bec65819d42115b9ce6edb3d839c1bbb609353163960361684ae67c5ecb859e5c9e19eb3233aac4e97c18bdd4d19e1919b05695b3dfef3ca5e7a192 diff --git a/net-analyzer/goaccess/files/goaccess.confd b/net-analyzer/goaccess/files/goaccess.confd new file mode 100644 index 000000000000..4ff75a1a4ff6 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.confd @@ -0,0 +1,8 @@ +# Config file for /etc/init.d/goaccess + +# Various options. +# run `goaccess --help` for valid cmdline options +OPTS="--user-name=goaccess --pid-file=/run/goaccess/goaccess.pid -o /var/lib/goaccess/goaccess.html -l /var/log/goaccess/goaccess.log" + +# GoAccess config file +#CONFIG="/etc/goaccess/goaccess.conf" diff --git a/net-analyzer/goaccess/files/goaccess.initd b/net-analyzer/goaccess/files/goaccess.initd new file mode 100644 index 000000000000..bd782952cfb4 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/goaccess" +name="GoAccess" +description="Real-time web log analyzer" +config="${CONFIG:-/etc/goaccess/goaccess.conf}" +command_args="--real-time-html --daemonize -p $config ${OPTS}" +pidfile="/run/goaccess/${RC_SVCNAME}.pid" +start_stop_daemon_args="-q" + +depend() { + need net +} diff --git a/net-analyzer/goaccess/files/goaccess.service b/net-analyzer/goaccess/files/goaccess.service new file mode 100644 index 000000000000..8fab5f9b7c56 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.service @@ -0,0 +1,15 @@ +[Unit] +Description=Real-time web log analyzer +After=network.target + +[Service] +Type=simple +User=root +Group=root +Restart=always +ExecStart=/usr/bin/goaccess --real-time-html --daemonize -p /etc/goaccess/goaccess.conf --user-name=goaccess -o /var/lib/goaccess/goaccess.html -l /var/log/goaccess/goaccess.log +StandardOutput=null +StandardError=null + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/goaccess/files/goaccess.tmpfile b/net-analyzer/goaccess/files/goaccess.tmpfile new file mode 100644 index 000000000000..caee9ffff853 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.tmpfile @@ -0,0 +1 @@ +d /run/goaccess 0755 goaccess goaccess diff --git a/net-analyzer/goaccess/goaccess-1.8.1.ebuild b/net-analyzer/goaccess/goaccess-1.8.1.ebuild new file mode 100644 index 000000000000..483e675fa316 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-1.8.1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +inherit autotools optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" +SRC_URI="https://tar.goaccess.io/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/goaccess-1.9.3.ebuild b/net-analyzer/goaccess/goaccess-1.9.3.ebuild new file mode 100644 index 000000000000..cd8029868ed2 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-1.9.3.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +inherit optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" +SRC_URI="https://tar.goaccess.io/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/goaccess-9999.ebuild b/net-analyzer/goaccess/goaccess-9999.ebuild new file mode 100644 index 000000000000..58691f5c27b8 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-9999.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +EGIT_REPO_URI="https://github.com/allinurl/${PN}.git" + +inherit autotools git-r3 optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" + +LICENSE="MIT" +SLOT="0" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/metadata.xml b/net-analyzer/goaccess/metadata.xml new file mode 100644 index 000000000000..1d54eeedf8ae --- /dev/null +++ b/net-analyzer/goaccess/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>spiderx@spiderx.dp.ua</email> + <name>Vladimir Pavljuchenkov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + GoAccess is an open source real-time web log + analyzer and interactive viewer that runs in a terminal in *nix systems. + It provides fast and valuable HTTP statistics for system administrators + that require a visual server report on the fly. + </longdescription> + <use> + <flag name="geoipv2">Enable support for GeoIP2 through <pkg>dev-libs/libmaxminddb</pkg> + </flag> + <flag name="getline">Use GNU getline() to parse full line requests</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gr-fosphor/Manifest b/net-analyzer/gr-fosphor/Manifest new file mode 100644 index 000000000000..6a00043f7379 --- /dev/null +++ b/net-analyzer/gr-fosphor/Manifest @@ -0,0 +1 @@ +DIST gr-fosphor-0.0_p20260330.tar.gz 226409 BLAKE2B bb9daf6901b8de8048664577040bf83321779c48e839b395604ddd54e53adb7c7372ff3400aaa2afb2650638e61f7baece3dc8cbd95b9cb57dcae4a024061f72 SHA512 9b6a2181b8a77f347b75df060e831ae24d042fc37457738b380d1d6cc52710b5ecfbeb531c8490caf281285b97e3a407765501c9450128500748803fb8e3dc1a diff --git a/net-analyzer/gr-fosphor/files/gr-fosphor-0.0_p20200131-htmldir.patch b/net-analyzer/gr-fosphor/files/gr-fosphor-0.0_p20200131-htmldir.patch new file mode 100644 index 000000000000..16a4475299bf --- /dev/null +++ b/net-analyzer/gr-fosphor/files/gr-fosphor-0.0_p20200131-htmldir.patch @@ -0,0 +1,8 @@ +--- a/docs/doxygen/CMakeLists.txt ++++ b/docs/doxygen/CMakeLists.txt +@@ -50,4 +50,4 @@ + + add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS}) + +-install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR}) ++install(DIRECTORY ${BUILT_DIRS} DESTINATION ${CMAKE_INSTALL_DOCDIR}) diff --git a/net-analyzer/gr-fosphor/gr-fosphor-0.0_p20260330.ebuild b/net-analyzer/gr-fosphor/gr-fosphor-0.0_p20260330.ebuild new file mode 100644 index 000000000000..8d35f0669a8d --- /dev/null +++ b/net-analyzer/gr-fosphor/gr-fosphor-0.0_p20260330.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake python-single-r1 + +DESCRIPTION="gnuradio fosphor block (GPU spectrum display)" +HOMEPAGE="https://sdr.osmocom.org/trac/wiki/fosphor" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + #EGIT_REPO_URI="https://github.com/osmocom/${PN}.git" + EGIT_REPO_URI="https://github.com/ZeroChaos-/${PN}.git" +else + COMMIT="d62dde896432b0a807bbbc16d20c8e76b9547f0a" + #SRC_URI="https://github.com/osmocom/gr-fosphor/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/ZeroChaos-/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="glfw" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:= + dev-libs/log4cpp + $(python_gen_cond_dep 'dev-python/pygccxml[${PYTHON_USEDEP}]') + media-libs/freetype + >=net-wireless/gnuradio-3.9:0=[${PYTHON_SINGLE_USEDEP}] + glfw? ( >=media-libs/glfw-3 ) + virtual/opencl + virtual/opengl +" +DEPEND="${RDEPEND}" +BDEPEND="$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')" + +PATCHES=( + "${FILESDIR}"/${PN}-0.0_p20200131-htmldir.patch +) + +src_prepare() { + cmake_src_prepare + + # adapt python bindings to use flags + use glfw || sed -i -e "s#bind_glfw_sink_c(m)##" \ + python/bindings/python_bindings.cc || die + sed -i -e "s#bind_qt_sink_c(m)##" \ + python/bindings/python_bindings.cc || die +} + +src_configure() { + # tries to run OpenCL test program, but failing doesn't hurt + addpredict /dev/dri + + local mycmakeargs=( + -DENABLE_DEFAULT=OFF + -DENABLE_GLFW="$(usex glfw)" + -DENABLE_QT=OFF # bug #961742 + -DENABLE_PYTHON=ON + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + find "${D}" -name '*.py[oc]' -delete || die + python_optimize +} diff --git a/net-analyzer/gr-fosphor/gr-fosphor-9999.ebuild b/net-analyzer/gr-fosphor/gr-fosphor-9999.ebuild new file mode 100644 index 000000000000..0aca85c2bcc0 --- /dev/null +++ b/net-analyzer/gr-fosphor/gr-fosphor-9999.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake python-single-r1 + +DESCRIPTION="gnuradio fosphor block (GPU spectrum display)" +HOMEPAGE="https://sdr.osmocom.org/trac/wiki/fosphor" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + #EGIT_REPO_URI="https://github.com/osmocom/${PN}.git" + EGIT_REPO_URI="https://github.com/ZeroChaos-/${PN}.git" +else + COMMIT="662577bb1969fdd9363ff6a574c47af54f1bb607" + #SRC_URI="https://github.com/osmocom/gr-fosphor/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/ZeroChaos-/${PN}/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="glfw" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:= + dev-libs/log4cpp + $(python_gen_cond_dep 'dev-python/pygccxml[${PYTHON_USEDEP}]') + media-libs/freetype + >=net-wireless/gnuradio-3.9:0=[${PYTHON_SINGLE_USEDEP}] + glfw? ( >=media-libs/glfw-3 ) + virtual/opencl + virtual/opengl +" +DEPEND="${RDEPEND}" +BDEPEND="$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')" + +src_prepare() { + cmake_src_prepare + + # adapt python bindings to use flags + use glfw || sed -i -e "s#bind_glfw_sink_c(m)##" \ + python/bindings/python_bindings.cc || die + sed -i -e "s#bind_qt_sink_c(m)##" \ + python/bindings/python_bindings.cc || die +} + +src_configure() { + # tries to run OpenCL test program, but failing doesn't hurt + addpredict /dev/dri + + local mycmakeargs=( + -DENABLE_DEFAULT=OFF + -DENABLE_GLFW="$(usex glfw)" + -DENABLE_QT=OFF # bug #961742 + -DENABLE_PYTHON=ON + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + find "${D}" -name '*.py[oc]' -delete || die + python_optimize +} diff --git a/net-analyzer/gr-fosphor/metadata.xml b/net-analyzer/gr-fosphor/metadata.xml new file mode 100644 index 000000000000..9543ee732277 --- /dev/null +++ b/net-analyzer/gr-fosphor/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>radio@gentoo.org</email> + <name>Radio</name> + </maintainer> + <use> + <flag name="glfw">enable GLFW based interface</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/greenbone-feed-sync/Manifest b/net-analyzer/greenbone-feed-sync/Manifest new file mode 100644 index 000000000000..5f121672a393 --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/Manifest @@ -0,0 +1,2 @@ +DIST greenbone-feed-sync-25.1.0.tar.gz 65345 BLAKE2B cf0c8ce7b7387b70ea00a87ecc48b12f1529b80e92f13dadfc31c15c81bd549261aa4ec83124c16be4833fc202c0b5000ca0ef92ca2d5fa5f8686ba4c01b63e8 SHA512 970aa6b0b75fabc45629dca3f036a3fca925fa03e52f704033a1d4497e77afaedcbfe9afea94400ab1b136bb19d8829cdab45d6c3c9de6088e9a48da0871128f +DIST greenbone-feed-sync-25.2.0.tar.gz 75235 BLAKE2B af655cb9e76e97773ef19288b032d9516c18bd8e848ab622f699508b25a8a68d50040da2f86a8eea0c988a875a53166759f170ffb5e1c6956529fa55761b7772 SHA512 33b61109ea0f7b728c980e8a14f780b25ca5c06bc37e280e60bd25a69e9119594e6a40b1a795f9aa4e439e2c78a68e298822d879c93235228941ec005f55bd0c diff --git a/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.cron b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.cron new file mode 100644 index 000000000000..5b3755982966 --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.cron @@ -0,0 +1,7 @@ +#!/bin/sh +# +# To enable sync via cron, execute "sudo -u gvm touch /etc/gvm/cron-feed-sync-enabled" +if [[ ! -f /etc/gvm/cron-feed-sync-enabled ]]; then + exit +fi +sudo -u gvm /usr/bin/greenbone-feed-sync --quiet --type all diff --git a/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.service b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.service new file mode 100644 index 000000000000..987fe731d47b --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.service @@ -0,0 +1,11 @@ +[Unit] +Description=sync the Greenbone Community Feed + +[Service] +Type=oneshot +ExecStart=/usr/bin/greenbone-feed-sync --quiet --type all +SyslogIdentifier=greenbone-feed-sync +User=gvm + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.timer b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.timer new file mode 100644 index 000000000000..9faf470e013c --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/files/greenbone-feed-sync.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Daily update of all feeds of the Greenbone Vulerability Management (GMV) suite + +[Timer] +OnCalendar=daily +RandomizedDelaySec=2hour + +[Install] +WantedBy=timers.target diff --git a/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.1.0.ebuild b/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.1.0.ebuild new file mode 100644 index 000000000000..6ae553941f14 --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.1.0.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 systemd + +DESCRIPTION="New script for syncing the Greenbone Community Feed" +HOMEPAGE="https://github.com/greenbone/greenbone-feed-sync" +SRC_URI="https://github.com/greenbone/greenbone-feed-sync/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="cron" + +COMMON_DEPEND=" + acct-user/gvm + net-misc/rsync + >=net-analyzer/gvmd-22.5.0 + >=dev-python/rich-13.2.0[${PYTHON_USEDEP}] + >=dev-python/shtab-1.7.0[${PYTHON_USEDEP}] +" +DEPEND=" + ${COMMON_DEPEND} + test? ( >=net-analyzer/pontos-22.12.2[${PYTHON_USEDEP}] ) +" +RDEPEND=" + ${COMMON_DEPEND} + cron? ( virtual/cron ) +" + +distutils_enable_tests unittest + +src_test() { + # Make a copy of the original config + cp greenbone/feed/sync/config.py "${T}"/config.py.orig || die + + # Patch the config.py to not use files from /etc/gvm, as this may + # cause a PermissionError. See https://bugs.gentoo.org/932836#c10 + sed -i \ + -e 's:DEFAULT_CONFIG_FILE = "/etc/gvm/greenbone-feed-sync.toml":DEFAULT_CONFIG_FILE = "'"${WORKDIR}/${P}-${TARGET}"'/install/etc/gvm/greenbone-feed-sync.toml":' \ + -e 's:DEFAULT_ENTERPRISE_KEY_PATH = "/etc/gvm/greenbone-enterprise-feed-key":DEFAULT_ENTERPRISE_KEY_PATH = "'"${WORKDIR}/${P}-${TARGET}"'/install/etc/gvm/greenbone-enterprise-feed-key":' \ + greenbone/feed/sync/config.py || die + + # Disable tests that require network access. + sed -i \ + -e 's:test_do_not_run_as_root:_&:' \ + -e 's:test_sync_nvts:_&:' \ + -e 's:test_sync_nvts_quiet:_&:' \ + -e 's:test_sync_nvts_rsync_error:_&:' \ + -e 's:test_sync_nvts_verbose:_&:' \ + -e 's:test_sync_nvts:_&:' \ + -e 's:test_sync_nvts_error:_&:' \ + tests/test_main.py || die + + distutils-r1_src_test + + # Restore config.py after test. + mv "${T}"/config.py.orig greenbone/feed/sync/config.py || die +} + +python_install() { + distutils-r1_python_install + + # greenbone-feed-sync should not be run as root to avoid changing file permissions + insinto /etc/sudoers.d + newins - greenbone-feed-sync <<-EOF + gvm ALL = NOPASSWD: /usr/bin/greenbone-feed-sync + EOF + + fperms 0750 /etc/sudoers.d + fperms 0440 /etc/sudoers.d/greenbone-feed-sync + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/${PN}.cron ${PN} + fi + + systemd_dounit "${FILESDIR}/${PN}.timer" "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + if [[ -n ${REPLACING_VERSIONS} ]]; then + return + fi + + if use cron; then + elog + elog "Edit ${EROOT}/etc/cron.weekly/greenbone-feed-sync to activate daily feed update!" + elog + fi + + if systemd_is_booted; then + elog + elog "To enable the systemd timer, run the following command:" + elog " systemctl enable --now greenbone-feed-sync.timer" + elog + fi +} diff --git a/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.2.0.ebuild b/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.2.0.ebuild new file mode 100644 index 000000000000..9331f86da4fa --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/greenbone-feed-sync-25.2.0.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 systemd + +DESCRIPTION="New script for syncing the Greenbone Community Feed" +HOMEPAGE="https://github.com/greenbone/greenbone-feed-sync" +SRC_URI="https://github.com/greenbone/greenbone-feed-sync/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="cron" + +COMMON_DEPEND=" + acct-user/gvm + net-misc/rsync + >=net-analyzer/gvmd-22.5.0 + >=dev-python/rich-13.2.0[${PYTHON_USEDEP}] + >=dev-python/shtab-1.7.0[${PYTHON_USEDEP}] +" +DEPEND=" + ${COMMON_DEPEND} + test? ( >=net-analyzer/pontos-22.12.2[${PYTHON_USEDEP}] ) +" +RDEPEND=" + ${COMMON_DEPEND} + cron? ( virtual/cron ) +" + +distutils_enable_tests unittest + +src_test() { + # Make a copy of the original config + cp greenbone/feed/sync/config.py "${T}"/config.py.orig || die + + # Patch the config.py to not use files from /etc/gvm, as this may + # cause a PermissionError. See https://bugs.gentoo.org/932836#c10 + sed -i \ + -e 's:DEFAULT_CONFIG_FILE = "/etc/gvm/greenbone-feed-sync.toml":DEFAULT_CONFIG_FILE = "'"${WORKDIR}/${P}-${TARGET}"'/install/etc/gvm/greenbone-feed-sync.toml":' \ + -e 's:DEFAULT_ENTERPRISE_KEY_PATH = "/etc/gvm/greenbone-enterprise-feed-key":DEFAULT_ENTERPRISE_KEY_PATH = "'"${WORKDIR}/${P}-${TARGET}"'/install/etc/gvm/greenbone-enterprise-feed-key":' \ + greenbone/feed/sync/config.py || die + + # Disable tests that require network access. + sed -i \ + -e 's:test_do_not_run_as_root:_&:' \ + -e 's:test_sync_nvts:_&:' \ + -e 's:test_sync_nvts_quiet:_&:' \ + -e 's:test_sync_nvts_rsync_error:_&:' \ + -e 's:test_sync_nvts_verbose:_&:' \ + -e 's:test_sync_nvts:_&:' \ + -e 's:test_sync_nvts_error:_&:' \ + tests/test_main.py || die + + distutils-r1_src_test + + # Restore config.py after test. + mv "${T}"/config.py.orig greenbone/feed/sync/config.py || die +} + +python_install() { + distutils-r1_python_install + + # greenbone-feed-sync should not be run as root to avoid changing file permissions + insinto /etc/sudoers.d + newins - greenbone-feed-sync <<-EOF + gvm ALL = NOPASSWD: /usr/bin/greenbone-feed-sync + EOF + + fperms 0750 /etc/sudoers.d + fperms 0440 /etc/sudoers.d/greenbone-feed-sync + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/${PN}.cron ${PN} + fi + + systemd_dounit "${FILESDIR}/${PN}.timer" "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + if [[ -n ${REPLACING_VERSIONS} ]]; then + return + fi + + if use cron; then + elog + elog "Edit ${EROOT}/etc/cron.weekly/greenbone-feed-sync to activate daily feed update!" + elog + fi + + if systemd_is_booted; then + elog + elog "To enable the systemd timer, run the following command:" + elog " systemctl enable --now greenbone-feed-sync.timer" + elog + fi +} diff --git a/net-analyzer/greenbone-feed-sync/metadata.xml b/net-analyzer/greenbone-feed-sync/metadata.xml new file mode 100644 index 000000000000..c132e3720f15 --- /dev/null +++ b/net-analyzer/greenbone-feed-sync/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="cron">Adds file to enable daily cron job to update Greenbone Community Feed's data"</flag> + </use> + <longdescription lang="en"> + This is the new script for syncing the Greenbone Community Feed. + The greenbone-nvt-sync script was previously installed by net-analyzer/openvas-scanner. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gsa/Manifest b/net-analyzer/gsa/Manifest new file mode 100644 index 000000000000..ce8a99f5b0af --- /dev/null +++ b/net-analyzer/gsa/Manifest @@ -0,0 +1,4 @@ +DIST gsa-26.0.0.tar.gz 2468141 BLAKE2B d51a80960a4d2da02d44eee6653ec047065850e0895ceb85eae9cf2cc7f685bb96ff0738a848b01b514fc3233fb4e681d7124128bcbc7f78f781d0a91dde330e SHA512 1c044b4513908766d332a730732895aa1c864ef6cea9229a62d48f2a0ca3a59fe0ce520c9eacc6433c931bea6131a80eebe132443fd69028d82c9b35bd9bc6d8 +DIST gsa-26.10.1.tar.gz 2634149 BLAKE2B 6fe16db1b7636cb63af5289a5ad9e23fb5b307b1aebfc2cc25dcc88431c8f34d5d0506a469b3e4f96646c85610a9a337a7b7acb01b440bafb52b66867a62ea07 SHA512 0b5029dc60350925995d67d4eda13db02c50c2981bc4c599aa7051a0d92449e02e18e4360359673d216c3f2b23d888a6b9df8d1b4a14b5b3061895399b3164fa +DIST gsa-node-modules-26.0.0.tar.xz 27178412 BLAKE2B 4eac15731bc208885eee678a51800d1b820b9659098a6d2f07d85530e5089f1173a33935d773324c8d6c9b6067acaee357bc7c2229bc32e9f5171acf74865a65 SHA512 3e2e6a6e345a315d24175c8e88d57b51c09ff51beee45e17d2afc5781097ebd17ba821a9e9b2f693301a6805024e9f2884c2a663091d0202ce9c78985f62d381 +DIST gsa-node-modules-26.10.1.tar.xz 42375572 BLAKE2B d0b03f47483b41e6c2032e17f39c7fc81c38b561651935aa4cde208260953d92ab8575df6853d7133fc884077326eabad201420efe7492f7a0a89893eb06977d SHA512 bab51ade248bfdce8a595e5478fa620782ece3b487f9af895ca915b2746bc814a12f0861ed98fc411b54d55d5de5a6b445c66166b758d757c6e26550c988e160 diff --git a/net-analyzer/gsa/gsa-26.0.0.ebuild b/net-analyzer/gsa/gsa-26.0.0.ebuild new file mode 100644 index 000000000000..126a0b48c050 --- /dev/null +++ b/net-analyzer/gsa/gsa-26.0.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_NODE_N="node-modules" +MY_NODE_D="node_modules" +MY_NODE_PV="${PV}" + +DESCRIPTION="Greenbone Security Assistant" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gsa" +SRC_URI=" + https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/greenbone/${PN}/releases/download/v${PV}/${PN}-${MY_NODE_N}-${PV}.tar.xz +" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="amd64" + +BDEPEND=" + >=net-libs/nodejs-20.0.0[ssl] + >=sys-apps/yarn-1.22 +" + +MY_NODE_DIR="${S}/${MY_NODE_D}/" + +src_prepare() { + default + # We will use pre-generated npm stuff. + mv "${WORKDIR}/${MY_NODE_D}" "${MY_NODE_DIR}" || die "couldn't move node_modules" + + # Make SVGR not traverse the path up to / looking for a + # configuration file. Fixes + # Error: EACCES: permission denied, open '/.config/svgrrc' + # in case a directory /.config exists, see https://bugs.gentoo.org/909731 + echo "runtimeConfig: false" > .svgrrc.yml || die +} + +src_compile() { + # setting correct PATH for finding react-js + NODE_ENV=production PATH="${PATH}:${MY_NODE_DIR}/.bin/" \ + yarn --offline build || die +} + +src_install() { + insinto "usr/share/gvm/gsad/web" + doins -r build/* +} diff --git a/net-analyzer/gsa/gsa-26.10.1.ebuild b/net-analyzer/gsa/gsa-26.10.1.ebuild new file mode 100644 index 000000000000..1a131c8a47ba --- /dev/null +++ b/net-analyzer/gsa/gsa-26.10.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_NODE_N="node-modules" +MY_NODE_D="node_modules" +MY_NODE_PV="${PV}" + +DESCRIPTION="Greenbone Security Assistant" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gsa" +SRC_URI=" + https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/greenbone/${PN}/releases/download/v${PV}/${PN}-${MY_NODE_N}-${PV}.tar.xz +" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + >=net-libs/nodejs-20.0.0[ssl] + >=sys-apps/yarn-1.22 +" + +MY_NODE_DIR="${S}/${MY_NODE_D}/" + +src_prepare() { + default + # We will use pre-generated npm stuff. + mv "${WORKDIR}/${MY_NODE_D}" "${MY_NODE_DIR}" || die "couldn't move node_modules" + + # Make SVGR not traverse the path up to / looking for a + # configuration file. Fixes + # Error: EACCES: permission denied, open '/.config/svgrrc' + # in case a directory /.config exists, see https://bugs.gentoo.org/909731 + echo "runtimeConfig: false" > .svgrrc.yml || die +} + +src_compile() { + # setting correct PATH for finding react-js + NODE_ENV=production PATH="${PATH}:${MY_NODE_DIR}/.bin/" \ + yarn --offline build || die +} + +src_install() { + insinto "usr/share/gvm/gsad/web" + doins -r build/* +} diff --git a/net-analyzer/gsa/metadata.xml b/net-analyzer/gsa/metadata.xml new file mode 100644 index 000000000000..59153ef429fa --- /dev/null +++ b/net-analyzer/gsa/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + The Greenbone Security Assistant is the web interface developed for the Greenbone Security Manager appliances. + It connects to the Greenbone Vulnerability Manager GVM to provide a full-featured user interface for vulnerability management. + Greenbone Security Assistant consists of GSA - The webpage written in React and + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gsad/Manifest b/net-analyzer/gsad/Manifest new file mode 100644 index 000000000000..e3769dd6044f --- /dev/null +++ b/net-analyzer/gsad/Manifest @@ -0,0 +1,2 @@ +DIST gsad-24.14.2.tar.gz 237231 BLAKE2B 0fc525947247dc352af5023e77a933a33184f16c7aa0139bd82d75fe3e31470695df4aa3b41c469bcdfe23226ecfecf189cb4a00cf31fbd223415bdd86035bf5 SHA512 143bde6480f9c15b81efe370d1660f57ad15c10ab8ef9564cb48dcc14f036fc531bdef4fbe7340687e1c4f01812d1368a5885218a3024fad61f67904e6186f40 +DIST gsad-24.5.4.tar.gz 235074 BLAKE2B 051b898536f9eda24458796b954c51be07af4beaa342aa656d2064ef2f7ea5248fa8af382bae49e85f9c46c92565b75f5079ac4252955c534b4f74b53726897f SHA512 c5e1202f8f775ffaa910094e2172c19f7075d7e679c56b17391c9e34dc187e9f8730a5ec20fd93e4220afc5e089969f254b19082f649c199c8dc4535ecd22e10 diff --git a/net-analyzer/gsad/files/gsad-22.init b/net-analyzer/gsad/files/gsad-22.init new file mode 100644 index 000000000000..a17f2dc1c084 --- /dev/null +++ b/net-analyzer/gsad/files/gsad-22.init @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${GSAD_USER:=gvm} +: ${GSAD_GROUP:=gvm} +: ${GSAD_TIMEOUT:=30} +: ${GSAD_PIDFILE:="/run/gsad/gsad.pid"} + +name="Greenbone Security Assistant (GSA)" +command="/usr/bin/gsad" +command_args="${GSAD_OPTIONS} ${GSAD_LISTEN_ADDRESS} ${GSAD_LISTEN_PORT} ${GVMD_LISTEN_ADDRESS} ${GVMD_LISTEN_PORT} ${GSAD_GNUTLS_PRIORITIES} --drop-privileges=${GSAD_USER}" +retry="${GSAD_TIMEOUT}" + +depend() { + after bootmisc + need localmount net + want gvmd +} + +start_pre() { + checkpath -d --mode 0755 --owner root /run/gsad +} + +start_post() { + checkpath -f --mode 0644 --owner "${GSAD_USER}:${GSAD_GROUP}" /var/log/gvm/gsad.log +} + +stop_post() { + if [ -f "${GSAD_PIDFILE}" ]; then + ebegin "Removing PID file" + rm --force "${GSAD_PIDFILE}" + eend $? + fi +} diff --git a/net-analyzer/gsad/files/gsad-daemon.conf b/net-analyzer/gsad/files/gsad-daemon.conf new file mode 100644 index 000000000000..e74b409cc84a --- /dev/null +++ b/net-analyzer/gsad/files/gsad-daemon.conf @@ -0,0 +1,19 @@ +# Greenbone Security Assistant command args + +# e.g. --foreground | e.g. --no-redirect +GSAD_OPTIONS="--no-redirect --http-only" + +# GSAD listen adress +GSAD_LISTEN_ADDRESS="--listen=127.0.0.1" + +# GSAD listen port +GSAD_LISTEN_PORT="--port=9392" + +# GVMD listen address +GVMD_LISTEN_ADDRESS="--mlisten=127.0.0.1" + +# GVMD listen port +GVMD_LISTEN_PORT="--mport=9390" + +# TLS Settings +GSAD_GNUTLS_PRIORITIES="--gnutls-priorities=NORMAL" diff --git a/net-analyzer/gsad/files/gsad.service.conf b/net-analyzer/gsad/files/gsad.service.conf new file mode 100644 index 000000000000..23d1db6f96bc --- /dev/null +++ b/net-analyzer/gsad/files/gsad.service.conf @@ -0,0 +1,2 @@ +[Unit] +PartOf=gvm.target diff --git a/net-analyzer/gsad/gsad-24.14.2.ebuild b/net-analyzer/gsad/gsad-24.14.2.ebuild new file mode 100644 index 000000000000..5ca51a689096 --- /dev/null +++ b/net-analyzer/gsad/gsad-24.14.2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd toolchain-funcs + +DESCRIPTION="Greenbone Security Assistant" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gsad" +SRC_URI="https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="brotli doc" + +DEPEND=" + acct-user/gvm + >=net-libs/libmicrohttpd-0.9.0:= + dev-libs/libxml2:2= + >=dev-libs/glib-2.42:2 + >=net-analyzer/gvm-libs-22.8.2 + >=net-libs/gnutls-3.2.15:= + >=virtual/zlib-1.2:= + dev-libs/libgcrypt:0= + brotli? ( + app-arch/brotli + ) +" + +RDEPEND=" + ${DEPEND} + >=net-analyzer/gvmd-22.4 + >=net-analyzer/gsa-22.4 + net-analyzer/ospd-openvas +" + +BDEPEND=" + dev-python/polib + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + ) +" + +src_prepare() { + cmake_src_prepare + + # QA-Fix | Remove !CLANG doxygen warnings for 9.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi + + # Avoid the use of brotli when not required by the use flag #942193 + # Remove brotli automagic dependencies check + if ! use brotli; then + sed -i \ + -e 's*^if (BROTLI_FOUND)*#if (BROTLI_FOUND)*' \ + -e 's*set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*' \ + -e 's*^endif (BROTLI_FOUND)*#endif (BROTLI_FOUND)*' \ + src/CMakeLists.txt || die "couldn't disable brotli automagic dependency's check" + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DGSAD_RUN_DIR=${EPREFIX}/run/gsad" + "-DGVMD_RUN_DIR=${EPREFIX}/run/gvmd" + "-DGVM_LOG_DIR=${EPREFIX}/var/log/gvm" + "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" + "-DLOGROTATE_DIR=${EPREFIX}/etc/logrotate.d" + ) + + cmake_src_configure +} + +src_compile() { + # setting correct PATH for finding react-js + NODE_ENV=production PATH="$PATH:${S}/gsa/node_modules/.bin/" cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + cmake_build rebuild_cache +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}/doc/generated/html/." ) + fi + cmake_src_install + + systemd_install_serviced "${FILESDIR}/gsad.service.conf" \ + ${PN}.service + + insinto /etc/gvm/sysconfig + newins "${FILESDIR}/${PN}-daemon.conf" "${PN}-daemon.conf" + + newinitd "${FILESDIR}/${PN}-22.init" "${PN}" + newconfd "${FILESDIR}/${PN}-daemon.conf" "${PN}" +} diff --git a/net-analyzer/gsad/gsad-24.5.4.ebuild b/net-analyzer/gsad/gsad-24.5.4.ebuild new file mode 100644 index 000000000000..0ff9d53e977f --- /dev/null +++ b/net-analyzer/gsad/gsad-24.5.4.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd toolchain-funcs + +DESCRIPTION="Greenbone Security Assistant" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gsad" +SRC_URI="https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="brotli doc" + +DEPEND=" + acct-user/gvm + >=net-libs/libmicrohttpd-0.9.0:= + dev-libs/libxml2:2= + >=dev-libs/glib-2.42:2 + >=net-analyzer/gvm-libs-22.8.2 + >=net-libs/gnutls-3.2.15:= + >=virtual/zlib-1.2:= + dev-libs/libgcrypt:0= + brotli? ( + app-arch/brotli + ) +" + +RDEPEND=" + ${DEPEND} + >=net-analyzer/gvmd-22.4 + >=net-analyzer/gsa-22.4 + net-analyzer/ospd-openvas +" + +BDEPEND=" + dev-python/polib + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + ) +" + +src_prepare() { + cmake_src_prepare + + # QA-Fix | Remove !CLANG doxygen warnings for 9.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi + + # Avoid the use of brotli when not required by the use flag #942193 + # Remove brotli automagic dependencies check + if ! use brotli; then + sed -i \ + -e 's*^if (BROTLI_FOUND)*#if (BROTLI_FOUND)*' \ + -e 's*set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*' \ + -e 's*^endif (BROTLI_FOUND)*#endif (BROTLI_FOUND)*' \ + src/CMakeLists.txt || die "couldn't disable brotli automagic dependency's check" + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DGSAD_RUN_DIR=${EPREFIX}/run/gsad" + "-DGVMD_RUN_DIR=${EPREFIX}/run/gvmd" + "-DGVM_LOG_DIR=${EPREFIX}/var/log/gvm" + "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" + "-DLOGROTATE_DIR=${EPREFIX}/etc/logrotate.d" + ) + + cmake_src_configure +} + +src_compile() { + # setting correct PATH for finding react-js + NODE_ENV=production PATH="$PATH:${S}/gsa/node_modules/.bin/" cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + cmake_build rebuild_cache +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}/doc/generated/html/." ) + fi + cmake_src_install + + systemd_install_serviced "${FILESDIR}/gsad.service.conf" \ + ${PN}.service + + insinto /etc/gvm/sysconfig + newins "${FILESDIR}/${PN}-daemon.conf" "${PN}-daemon.conf" + + newinitd "${FILESDIR}/${PN}-22.init" "${PN}" + newconfd "${FILESDIR}/${PN}-daemon.conf" "${PN}" +} diff --git a/net-analyzer/gsad/metadata.xml b/net-analyzer/gsad/metadata.xml new file mode 100644 index 000000000000..a62c335d66ba --- /dev/null +++ b/net-analyzer/gsad/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gspoof/Manifest b/net-analyzer/gspoof/Manifest new file mode 100644 index 000000000000..e154fdd3a631 --- /dev/null +++ b/net-analyzer/gspoof/Manifest @@ -0,0 +1 @@ +DIST gspoof-3.2.tar.gz 69340 BLAKE2B c5769a242d6d388b7606594a01b6543822167505ea6210a05f6a514c47ea875efdea3e81b495b1a635fa15d9a065a35b631b20512b326304e366f692f8a73be5 SHA512 be90aeeb9ac93b5c4a190564ecfedd05ee077afed67696b773cb79949043975807dabed8f49597dcd3b08b9b0ee53c598caa9dced6f97bd9d6170f8e82b8f0f9 diff --git a/net-analyzer/gspoof/files/gspoof-3.2-fno-common.patch b/net-analyzer/gspoof/files/gspoof-3.2-fno-common.patch new file mode 100644 index 000000000000..c91a54231150 --- /dev/null +++ b/net-analyzer/gspoof/files/gspoof-3.2-fno-common.patch @@ -0,0 +1,221 @@ +--- a/ginclude.h ++++ b/ginclude.h +@@ -22,8 +22,8 @@ struct FLAGS + urg:1, + ece:1, + cwr:1; +-} +-f; ++}; ++extern struct FLAGS f; + + struct CHECKS + { +@@ -31,33 +31,33 @@ struct CHECKS + data:1, /* include payload */ + linkl:1, /* work with datalink */ + debug:1; /* enable debug mode */ +-} +-ck; ++}; ++extern struct CHECKS ck; + + struct MULTI + { + u_long number; + u_long delay; +-} +-m; ++}; ++extern struct MULTI m; + + struct ECN + { + u_int dscp:8; + u_int ecn_ct:2; + u_int ecn_ce:1; +-} +-ipv4_tos; ++}; ++extern struct ECN ipv4_tos; + +-u_long shost; +-u_long dhost; +-u_long seq; +-u_long ack; +-u_short id; +-u_short urgp; +-u_short tos; ++extern u_long shost; ++extern u_long dhost; ++extern u_long seq; ++extern u_long ack; ++extern u_short id; ++extern u_short urgp; ++extern u_short tos; + +-char device[10]; +-char data[128]; ++extern char device[10]; ++extern char data[128]; + +-u_char ebuf[LIBNET_ERRBUF_SIZE]; ++extern u_char ebuf[LIBNET_ERRBUF_SIZE]; +--- a/interface.h ++++ b/interface.h +@@ -20,47 +20,47 @@ GtkWidget* create_ECNWin (void); + /* Define common Widget */ + + /* MainWin */ +-GtkWidget *iface_entry; +-GtkWidget *srcmac_entry; +-GtkWidget *dstmac_entry; +-GtkWidget *ethtype_combo; +-GtkWidget *ethtype_combo_entry; +-GtkWidget *DatalinkFrame; ++extern GtkWidget *iface_entry; ++extern GtkWidget *srcmac_entry; ++extern GtkWidget *dstmac_entry; ++extern GtkWidget *ethtype_combo; ++extern GtkWidget *ethtype_combo_entry; ++extern GtkWidget *DatalinkFrame; + +-GtkWidget *srcaddr_entry; +-GtkWidget *dstaddr_entry; +-GtkWidget *ttl_entry; +-GtkWidget *id_entry; +-GtkWidget *tos_entry; ++extern GtkWidget *srcaddr_entry; ++extern GtkWidget *dstaddr_entry; ++extern GtkWidget *ttl_entry; ++extern GtkWidget *id_entry; ++extern GtkWidget *tos_entry; + +-GtkWidget *srcport_entry; +-GtkWidget *dstport_entry; +-GtkWidget *flags_table; +-GtkWidget *syn_checkbutton; +-GtkWidget *fin_checkbutton; +-GtkWidget *push_checkbutton; +-GtkWidget *ack_checkbutton; +-GtkWidget *rst_checkbutton; +-GtkWidget *urg_checkbutton; +-GtkWidget *ece_checkbutton; +-GtkWidget *cwr_checkbutton; +-GtkWidget *seq_entry; +-GtkWidget *ack_entry; +-GtkWidget *win_entry; +-GtkWidget *urg_entry; ++extern GtkWidget *srcport_entry; ++extern GtkWidget *dstport_entry; ++extern GtkWidget *flags_table; ++extern GtkWidget *syn_checkbutton; ++extern GtkWidget *fin_checkbutton; ++extern GtkWidget *push_checkbutton; ++extern GtkWidget *ack_checkbutton; ++extern GtkWidget *rst_checkbutton; ++extern GtkWidget *urg_checkbutton; ++extern GtkWidget *ece_checkbutton; ++extern GtkWidget *cwr_checkbutton; ++extern GtkWidget *seq_entry; ++extern GtkWidget *ack_entry; ++extern GtkWidget *win_entry; ++extern GtkWidget *urg_entry; + + /* Info TextView */ +-GtkWidget *TextView; +-GtkTextBuffer *TextBuffer; +-GtkWidget *VerticalScroll; ++extern GtkWidget *TextView; ++extern GtkTextBuffer *TextBuffer; ++extern GtkWidget *VerticalScroll; + + /* DataWin */ +-GtkWidget *DataEntry; ++extern GtkWidget *DataEntry; + + /* Multi */ +-GtkWidget *table2; +-GtkWidget *NumberEntryMulti; +-GtkWidget *DelayEntryMulty; ++extern GtkWidget *table2; ++extern GtkWidget *NumberEntryMulti; ++extern GtkWidget *DelayEntryMulty; + + /* ECN */ +-GtkWidget *dscpEntry; ++extern GtkWidget *dscpEntry; +--- a/gfuncts.c ++++ b/gfuncts.c +@@ -19,9 +19,12 @@ + + #include "interface.h" + ++struct FLAGS f; ++struct CHECKS ck; ++struct MULTI m; ++ + /* private functions */ + int CheckValues(); +-u_short datalen; /* data (tcp payload) lenght */ + + int Initialize() + { +@@ -139,6 +142,7 @@ int SendPacket() + /* BEGIN of variables ' declaration */ + libnet_t *l; + char *dataptr; ++ u_short datalen; /* data (tcp payload) lenght */ + + u_short sport, dport; + u_short flag=0x00; +--- a/interface.c ++++ b/interface.c +@@ -27,6 +27,47 @@ + #include "ginclude.h" /* define payload and multi options */ + #include "common.h" + ++GtkWidget *iface_entry; ++GtkWidget *srcmac_entry; ++GtkWidget *dstmac_entry; ++GtkWidget *ethtype_combo; ++GtkWidget *ethtype_combo_entry; ++GtkWidget *DatalinkFrame; ++ ++GtkWidget *srcaddr_entry; ++GtkWidget *dstaddr_entry; ++GtkWidget *ttl_entry; ++GtkWidget *id_entry; ++GtkWidget *tos_entry; ++ ++GtkWidget *srcport_entry; ++GtkWidget *dstport_entry; ++GtkWidget *flags_table; ++GtkWidget *syn_checkbutton; ++GtkWidget *fin_checkbutton; ++GtkWidget *push_checkbutton; ++GtkWidget *ack_checkbutton; ++GtkWidget *rst_checkbutton; ++GtkWidget *urg_checkbutton; ++GtkWidget *ece_checkbutton; ++GtkWidget *cwr_checkbutton; ++GtkWidget *seq_entry; ++GtkWidget *ack_entry; ++GtkWidget *win_entry; ++GtkWidget *urg_entry; ++ ++GtkWidget *TextView; ++GtkTextBuffer *TextBuffer; ++GtkWidget *VerticalScroll; ++ ++GtkWidget *DataEntry; ++ ++GtkWidget *table2; ++GtkWidget *NumberEntryMulti; ++GtkWidget *DelayEntryMulty; ++ ++GtkWidget *dscpEntry; ++ + #define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) diff --git a/net-analyzer/gspoof/files/gspoof-3.2-icon.patch b/net-analyzer/gspoof/files/gspoof-3.2-icon.patch new file mode 100644 index 000000000000..863049e0d2c7 --- /dev/null +++ b/net-analyzer/gspoof/files/gspoof-3.2-icon.patch @@ -0,0 +1,71 @@ +Fix icon path and name. + +--- a/gtk.c ++++ b/gtk.c +@@ -24,9 +24,7 @@ + gtk_set_locale (); + gtk_init (&_argc, &_argv); + +- add_pixmap_directory ("pixmap"); +- add_pixmap_directory ("/usr/local/share/gspoof/pixmap"); +- add_pixmap_directory ("/usr/share/gspoof/pixmap"); ++ add_pixmap_directory ("/usr/share/pixmaps"); + + MainWin = create_MainWin(); + +--- a/interface.c ++++ b/interface.c +@@ -102,7 +102,7 @@ + gtk_widget_set_size_request (MainWin, 640, 480); + gtk_window_set_title (GTK_WINDOW (MainWin), BANNER); + gtk_window_set_position (GTK_WINDOW (MainWin), GTK_WIN_POS_CENTER); +- MainWin_icon_pixbuf = create_pixbuf ("icon.png"); ++ MainWin_icon_pixbuf = create_pixbuf ("gspoof.png"); + if (MainWin_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (MainWin), MainWin_icon_pixbuf); +@@ -663,7 +663,7 @@ + gtk_widget_set_extension_events (DataWin, GDK_EXTENSION_EVENTS_CURSOR); + gtk_window_set_title (GTK_WINDOW (DataWin), _("Payload options")); + gtk_window_set_position (GTK_WINDOW (DataWin), GTK_WIN_POS_CENTER); +- DataWin_icon_pixbuf = create_pixbuf ("icon.png"); ++ DataWin_icon_pixbuf = create_pixbuf ("gspoof.png"); + if (DataWin_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (DataWin), DataWin_icon_pixbuf); +@@ -754,7 +754,7 @@ + gtk_window_set_title (GTK_WINDOW (MultiPackets), _("Pseudo-flood options")); + gtk_window_set_position (GTK_WINDOW (MultiPackets), GTK_WIN_POS_CENTER); + gtk_window_set_resizable (GTK_WINDOW (MultiPackets), FALSE); +- MultiPackets_icon_pixbuf = create_pixbuf ("icon.png"); ++ MultiPackets_icon_pixbuf = create_pixbuf ("gspoof.png"); + if (MultiPackets_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (MultiPackets), MultiPackets_icon_pixbuf); +@@ -884,7 +884,7 @@ + gtk_window_set_position (GTK_WINDOW (AboutWin), GTK_WIN_POS_CENTER); + gtk_window_set_default_size (GTK_WINDOW (AboutWin), 350, 200); + gtk_window_set_resizable (GTK_WINDOW (AboutWin), FALSE); +- AboutWin_icon_pixbuf = create_pixbuf ("icon.png"); ++ AboutWin_icon_pixbuf = create_pixbuf ("gspoof.png"); + if (AboutWin_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (AboutWin), AboutWin_icon_pixbuf); +@@ -896,7 +896,7 @@ + gtk_container_add (GTK_CONTAINER (AboutWin), hbox1); + gtk_container_set_border_width (GTK_CONTAINER (hbox1), 2); + +- image16 = create_pixmap (AboutWin, "icon.png"); ++ image16 = create_pixmap (AboutWin, "gspoof.png"); + gtk_widget_show (image16); + gtk_box_pack_start (GTK_BOX (hbox1), image16, TRUE, TRUE, 0); + +@@ -936,7 +936,7 @@ + gtk_widget_set_size_request (ECNWin, -1, 90); + gtk_window_set_title (GTK_WINDOW (ECNWin), _("ECN options")); + gtk_window_set_position (GTK_WINDOW (ECNWin), GTK_WIN_POS_CENTER); +- ECNWin_icon_pixbuf = create_pixbuf ("icon.png"); ++ ECNWin_icon_pixbuf = create_pixbuf ("gspoof.png"); + if (ECNWin_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (ECNWin), ECNWin_icon_pixbuf); diff --git a/net-analyzer/gspoof/files/gspoof-3.2-libdir.patch b/net-analyzer/gspoof/files/gspoof-3.2-libdir.patch new file mode 100644 index 000000000000..67674c2f5155 --- /dev/null +++ b/net-analyzer/gspoof/files/gspoof-3.2-libdir.patch @@ -0,0 +1,17 @@ +Don't assume that $(libdir) is lib. Rely on linker defaults instead. +--- a/configure.ac ++++ b/configure.ac +@@ -55,13 +55,6 @@ AC_ARG_WITH([libnet-prefix], + [ LIBNET_PREFIX=$withval ], + [ LIBNET_PREFIX=/usr ]) + +-AC_CHECK_FILE([$LIBNET_PREFIX/lib/libnet.a], +- [LDFLAGS="-L$LIBNET_PREFIX/lib" +- CPPFLAGS="-I$LIBNET_PREFIX/include" ], +- AC_MSG_ERROR([ +-Libnet-1.1.1 Packet Shaping Library is required! +-Verify to have installed it and pass --with-libnet-prefix to configure. +-Or download it from http://www.packetfactory.net/libnet ])) + + AC_CHECK_LIB(net, libnet_name2addr4,, + AC_MSG_ERROR([ diff --git a/net-analyzer/gspoof/files/gspoof-def-values.patch b/net-analyzer/gspoof/files/gspoof-def-values.patch new file mode 100644 index 000000000000..442f8e821b01 --- /dev/null +++ b/net-analyzer/gspoof/files/gspoof-def-values.patch @@ -0,0 +1,29 @@ +diff -Naurp gspoof-3.2-orig/gfuncts.c gspoof-3.2/gfuncts.c +--- gspoof-3.2-orig/gfuncts.c 2006-09-15 16:39:59.000000000 +0200 ++++ gspoof-3.2/gfuncts.c 2006-09-15 17:20:49.000000000 +0200 +@@ -47,12 +47,6 @@ int RestoreDefault() + struct libnet_ether_addr *ethaddr; /* eth address */ + libnet_t *l; + +- /* put default value */ +- bzero (&f, 6); +- bzero (&ck, 2); +- memset (data, '\0', 128); +- memset (device, '\0', 10); +- + /* loading libnet core */ + if ((l=libnet_init(LIBNET_LINK, NULL, ebuf))==NULL) + { +@@ -126,6 +120,12 @@ int RestoreDefault() + gtk_entry_set_text (GTK_ENTRY (win_entry), "32767"); + gtk_entry_set_text(GTK_ENTRY (urg_entry), ltostr(urgp)); + ++ /* put default value */ ++ bzero (&f, sizeof(f)); ++ bzero (&ck, sizeof(ck)); ++ memset (data, '\0', 128); ++ memset (device, '\0', 10); ++ + /* Set default variable values */ + f.syn=1; + m.number=10; diff --git a/net-analyzer/gspoof/gspoof-3.2-r3.ebuild b/net-analyzer/gspoof/gspoof-3.2-r3.ebuild new file mode 100644 index 000000000000..b44beb880250 --- /dev/null +++ b/net-analyzer/gspoof/gspoof-3.2-r3.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools desktop flag-o-matic + +DESCRIPTION="A simple GTK/command line TCP/IP packet generator" +HOMEPAGE="http://gspoof.sourceforge.net/" +SRC_URI="http://gspoof.sourceforge.net/src/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +DEPEND=" + x11-libs/gtk+:2 + dev-libs/glib:2 + net-libs/libnet:1.1 +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-def-values.patch" + "${FILESDIR}/${PN}-3.2-icon.patch" + "${FILESDIR}/${PN}-3.2-libdir.patch" + "${FILESDIR}/${PN}-3.2-fno-common.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/861158 + # + # Upstream sourceforge is dead. Software last updated in December 2003. + # No bug filed. + filter-lto + + default +} + +src_compile() { + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin gspoof + newicon pixmap/icon.png ${PN}.png + dodoc README CHANGELOG TODO +} diff --git a/net-analyzer/gspoof/metadata.xml b/net-analyzer/gspoof/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/gspoof/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gvm-libs/Manifest b/net-analyzer/gvm-libs/Manifest new file mode 100644 index 000000000000..9ab9c4f407c1 --- /dev/null +++ b/net-analyzer/gvm-libs/Manifest @@ -0,0 +1,2 @@ +DIST gvm-libs-22.28.0.tar.gz 399457 BLAKE2B 4fbe6a8b0b2a70af7c209691d2f406df63f4566a2ac620e85d2b62e489312da079865c0f43abbdee7c1f955122816cfba78de3e450e6d90a607473842a87d584 SHA512 bbe0942c8ba1d45d847724bef59c55d7040c1460ff9438fc0fa8d28e4d2178605a4910f7cce08139f1aa1bf638622ecf1d2030c35f5b83639a21473aca6f4f6e +DIST gvm-libs-22.35.4.tar.gz 427257 BLAKE2B 0bc76add94910546fd4c1086a0d4faaaf13ce7e9805d264fac6326956d1082e3d2324ecd3f683fc65c8570505396435cbd932985901a6cb8de59e37cf7e1f765 SHA512 91b12b71f04d6a5a59ee1e83dc7c84408a32d44e5b2acdc583b43aff6999e51a007e8a8d5b0150b2c14c64c420601fc1b4d36db38321624afc8ba36984d43f68 diff --git a/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-add-missing-link-to-cjson.patch b/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-add-missing-link-to-cjson.patch new file mode 100644 index 000000000000..41c52c8b4855 --- /dev/null +++ b/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-add-missing-link-to-cjson.patch @@ -0,0 +1,13 @@ +# Upstream: https://github.com/greenbone/gvm-libs/pull/961 +# Fix build error on clang with -Wl,--no-allow-shlib-undefined + +--- a/http_scanner/CMakeLists.txt ++++ b/http_scanner/CMakeLists.txt +@@ -67,6 +67,7 @@ if(BUILD_SHARED) + gvm_util_shared + ${GLIB_LDFLAGS} + ${CURL_LDFLAGS} ++ ${CJSON_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) + endif(BUILD_SHARED) diff --git a/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-remove-unworking-tests.patch b/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-remove-unworking-tests.patch new file mode 100644 index 000000000000..4f42143e9598 --- /dev/null +++ b/net-analyzer/gvm-libs/files/gvm-libs-22.28.0-remove-unworking-tests.patch @@ -0,0 +1,206 @@ +# Remove tests that don't work in the network sandbox + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -230,27 +230,27 @@ if(BUILD_TESTS AND NOT SKIP_SRC) + set( + TESTS + array-test +- boreas-alivedetection-test +- boreas-cli-test ++ #boreas-alivedetection-test ++ #boreas-cli-test + boreas-error-test + boreas-io-test +- boreas-ping-test +- boreas-sniffer-test ++ #boreas-ping-test ++ #boreas-sniffer-test + compressutils-test + cpeutils-test + cvss-test + hosts-test + json-test + jsonpull-test +- logging-test ++ #logging-test + logging-domain-test +- networking-test ++ #networking-test + nvti-test + osp-test + passwordbasedauthentication-test + streamvalidator-test + test-hosts +- util-test ++ #util-test + version-test + versionutils-test + xmlutils-test +@@ -266,11 +266,11 @@ if(BUILD_TESTS AND NOT SKIP_SRC) + vtparser-test + ) + endif(OPENVASD) +- ++#[===[ + if(ENABLE_AGENTS) + list(APPEND TESTS agent-controller-test) + endif(ENABLE_AGENTS) +- ++]===] + add_custom_target(tests DEPENDS ${TESTS}) + + # Code coverage +--- a/agent_controller/CMakeLists.txt ++++ b/agent_controller/CMakeLists.txt +@@ -58,6 +58,7 @@ endif() + ## Tests + + if(BUILD_TESTS) ++#[===[ + add_unit_test( + agent-controller-test + agent_controller_tests.c +@@ -69,6 +70,7 @@ if(BUILD_TESTS) + ${CURL_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + endif() + + ## Install +--- a/base/CMakeLists.txt ++++ b/base/CMakeLists.txt +@@ -134,6 +134,7 @@ if(BUILD_TESTS) + NETWORKING_TEST_LINKER_WRAP_OPTIONS + "-Wl,-wrap,g_io_channel_new_file,-wrap,g_io_channel_shutdown" + ) ++#[===[ + add_unit_test( + networking-test + networking_tests.c +@@ -143,6 +144,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${NETWORKING_TEST_LINKER_WRAP_OPTIONS} + ) ++]===] + add_unit_test( + pwpolicy-test + pwpolicy_tests.c +@@ -176,6 +178,7 @@ if(BUILD_TESTS) + ${GLIB_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + logging-test + logging_tests.c +@@ -183,6 +186,7 @@ if(BUILD_TESTS) + ${GLIB_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + endif(BUILD_TESTS) + + ## Install +--- a/boreas/CMakeLists.txt ++++ b/boreas/CMakeLists.txt +@@ -136,6 +136,7 @@ set(LIBGVM_BOREAS_NAME ${LIBGVM_BOREAS_NAME} PARENT_SCOPE) + ## Tests + + if(BUILD_TESTS) ++#[===[ + add_unit_test( + boreas-alivedetection-test + alivedetection_tests.c +@@ -148,6 +149,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) ++]===] + add_unit_test( + boreas-error-test + boreas_error_tests.c +@@ -167,6 +169,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) ++#[===[ + add_unit_test( + boreas-cli-test + cli_tests.c +@@ -202,8 +205,9 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) +- ++]===] + set(UTIL_TEST_LINKER_WRAP_OPTIONS "-Wl,-wrap,socket,-wrap,setsockopt") ++#[===[ + add_unit_test( + util-test + util_tests.c +@@ -213,6 +217,7 @@ if(BUILD_TESTS) + ${CMAKE_THREAD_LIBS_INIT} + ${UTIL_TEST_LINKER_WRAP_OPTIONS} + ) ++]===] + endif(BUILD_TESTS) + + ## Install +--- a/cmake/MacroAddUnitTest.cmake ++++ b/cmake/MacroAddUnitTest.cmake +@@ -2,12 +2,12 @@ macro(add_unit_test _testName _testSource) + add_executable(${_testName} ${_testSource}) + target_link_libraries(${_testName} ${CGREEN_LIBRARIES} ${ARGN}) + target_include_directories(${_testName} PRIVATE ${CGREEN_INCLUDE_DIRS}) +- target_compile_options(${_testName} PRIVATE "-fsanitize=address") +- target_link_options(${_testName} PRIVATE "-fsanitize=address") ++# target_compile_options(${_testName} PRIVATE "-fsanitize=address") ++# target_link_options(${_testName} PRIVATE "-fsanitize=address") + add_test(NAME ${_testName} COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${_testName}) +- set_tests_properties( +- ${_testName} +- PROPERTIES +- ENVIRONMENT "ASAN_OPTIONS=detect_leaks=1:halt_on_error=1:abort_on_error=1" +- ) ++# set_tests_properties( ++# ${_testName} ++# PROPERTIES ++# ENVIRONMENT "ASAN_OPTIONS=detect_leaks=1:halt_on_error=1:abort_on_error=1" ++# ) + endmacro() +--- a/util/CMakeLists.txt ++++ b/util/CMakeLists.txt +@@ -258,6 +258,7 @@ if(BUILD_TESTS) + ${UUID_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + mqtt-test + mqtt_tests.c +@@ -268,6 +269,7 @@ if(BUILD_TESTS) + ${UUID_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + add_unit_test( + kb-test + kb_tests.c +@@ -276,6 +278,7 @@ if(BUILD_TESTS) + ${REDIS_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + radiusutils-test + radiusutils_tests.c +@@ -295,6 +298,7 @@ if(BUILD_TESTS) + ${GNUTLS_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + add_unit_test( + streamvalidator-test + streamvalidator_tests.c diff --git a/net-analyzer/gvm-libs/files/gvm-libs-22.35.4-remove-unworking-tests.patch b/net-analyzer/gvm-libs/files/gvm-libs-22.35.4-remove-unworking-tests.patch new file mode 100644 index 000000000000..4fa066c9a390 --- /dev/null +++ b/net-analyzer/gvm-libs/files/gvm-libs-22.35.4-remove-unworking-tests.patch @@ -0,0 +1,202 @@ +# Remove tests that don't work in the network sandbox + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -231,27 +231,27 @@ if(BUILD_TESTS AND NOT SKIP_SRC) + set( + TESTS + array-test +- boreas-alivedetection-test +- boreas-cli-test ++ #boreas-alivedetection-test ++ #boreas-cli-test + boreas-error-test + boreas-io-test +- boreas-ping-test +- boreas-sniffer-test ++ #boreas-ping-test ++ #boreas-sniffer-test + compressutils-test + cpeutils-test + cvss-test + hosts-test + json-test + jsonpull-test +- logging-test ++ #logging-test + logging-domain-test +- networking-test ++ #networking-test + nvti-test + osp-test + passwordbasedauthentication-test + streamvalidator-test + test-hosts +- util-test ++ #util-test + version-test + versionutils-test + xmlutils-test +@@ -267,11 +267,11 @@ if(BUILD_TESTS AND NOT SKIP_SRC) + vtparser-test + ) + endif(ENABLE_OPENVASD) +- ++#[===[ + if(ENABLE_AGENTS) + list(APPEND TESTS agent-controller-test) + endif(ENABLE_AGENTS) +- ++]===] + add_custom_target(tests DEPENDS ${TESTS}) + + # Code coverage +--- a/agent_controller/CMakeLists.txt ++++ b/agent_controller/CMakeLists.txt +@@ -58,6 +58,7 @@ endif() + ## Tests + + if(BUILD_TESTS) ++#[===[ + add_unit_test( + agent-controller-test + agent_controller_tests.c +@@ -69,6 +70,7 @@ if(BUILD_TESTS) + ${CURL_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + endif() + + ## Install +--- a/base/CMakeLists.txt ++++ b/base/CMakeLists.txt +@@ -134,6 +134,7 @@ if(BUILD_TESTS) + NETWORKING_TEST_LINKER_WRAP_OPTIONS + "-Wl,-wrap,g_io_channel_new_file,-wrap,g_io_channel_shutdown,-wrap,g_io_channel_unref" + ) ++#[===[ + add_unit_test( + networking-test + networking_tests.c +@@ -143,6 +144,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${NETWORKING_TEST_LINKER_WRAP_OPTIONS} + ) ++]===] + add_unit_test( + pidfile-test + pidfile_tests.c +@@ -196,6 +198,7 @@ if(BUILD_TESTS) + ${GLIB_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + logging-test + logging_tests.c +@@ -203,6 +206,7 @@ if(BUILD_TESTS) + ${GLIB_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + add_unit_test( + strings-test + strings_tests.c +--- a/boreas/CMakeLists.txt ++++ b/boreas/CMakeLists.txt +@@ -136,6 +136,7 @@ set(LIBGVM_BOREAS_NAME ${LIBGVM_BOREAS_NAME} PARENT_SCOPE) + ## Tests + + if(BUILD_TESTS) ++#[===[ + add_unit_test( + boreas-alivedetection-test + alivedetection_tests.c +@@ -148,6 +149,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) ++]===] + add_unit_test( + boreas-arp-test + arp_tests.c +@@ -179,6 +181,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) ++#[===[ + add_unit_test( + boreas-cli-test + cli_tests.c +@@ -191,6 +194,7 @@ if(BUILD_TESTS) + ${LINKER_HARDENING_FLAGS} + ${CMAKE_THREAD_LIBS_INIT} + ) ++]===] + add_unit_test( + boreas-ping-test + ping_tests.c +@@ -216,6 +220,7 @@ if(BUILD_TESTS) + ) + + set(UTIL_TEST_LINKER_WRAP_OPTIONS "-Wl,-wrap,socket,-wrap,setsockopt") ++#[===[ + add_unit_test( + util-test + util_tests.c +@@ -225,6 +230,7 @@ if(BUILD_TESTS) + ${CMAKE_THREAD_LIBS_INIT} + ${UTIL_TEST_LINKER_WRAP_OPTIONS} + ) ++]===] + endif(BUILD_TESTS) + + ## Install +--- a/cmake/MacroAddUnitTest.cmake ++++ b/cmake/MacroAddUnitTest.cmake +@@ -3,8 +3,8 @@ macro(add_unit_test _testName _testSource) + target_link_libraries(${_testName} ${CGREEN_LIBRARIES} ${ARGN}) + target_include_directories(${_testName} PRIVATE ${CGREEN_INCLUDE_DIRS}) + if(ENABLE_ADDRESS_SANITIZER) +- target_compile_options(${_testName} PRIVATE "-fsanitize=address") +- target_link_options(${_testName} PRIVATE "-fsanitize=address") ++ # target_compile_options(${_testName} PRIVATE "-fsanitize=address") ++ # target_link_options(${_testName} PRIVATE "-fsanitize=address") + endif(ENABLE_ADDRESS_SANITIZER) + add_test(NAME ${_testName} COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${_testName}) + endmacro() +--- a/util/CMakeLists.txt ++++ b/util/CMakeLists.txt +@@ -294,6 +294,7 @@ if(BUILD_TESTS) + ${UUID_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + mqtt-test + mqtt_tests.c +@@ -304,6 +305,7 @@ if(BUILD_TESTS) + ${UUID_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + add_unit_test( + kb-test + kb_tests.c +@@ -312,6 +314,7 @@ if(BUILD_TESTS) + ${REDIS_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++#[===[ + add_unit_test( + sshutils-test + sshutils_tests.c +@@ -342,6 +345,7 @@ if(BUILD_TESTS) + ${GNUTLS_LDFLAGS} + ${LINKER_HARDENING_FLAGS} + ) ++]===] + add_unit_test( + streamvalidator-test + streamvalidator_tests.c diff --git a/net-analyzer/gvm-libs/gvm-libs-22.28.0.ebuild b/net-analyzer/gvm-libs/gvm-libs-22.28.0.ebuild new file mode 100644 index 000000000000..bc6681fe891e --- /dev/null +++ b/net-analyzer/gvm-libs/gvm-libs-22.28.0.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs + +DESCRIPTION="Greenbone Vulnerability Management (GVM) libraries" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvm-libs/" +SRC_URI="https://github.com/greenbone/gvm-libs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc ldap test radius" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + >=app-crypt/gpgme-1.7.0:= + >=dev-libs/glib-2.42:2 + >=dev-libs/hiredis-1.1.0:= + dev-libs/libgcrypt:= + dev-libs/libgpg-error + >=dev-libs/cJSON-1.7.14 + >=dev-libs/libxml2-2.0:2= + >=net-libs/gnutls-3.2.15:= + net-libs/libnet:1.1 + net-libs/libpcap + >=net-libs/libssh-0.6.0:= + >=sys-apps/util-linux-2.25.0 + sys-libs/libxcrypt:= + >=virtual/zlib-1.2.8:= + net-libs/paho-mqtt-c:1.3 + >=net-misc/curl-7.83.0 + ldap? ( net-nds/openldap:= ) + radius? ( net-dialup/freeradius-client ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-vcs/git + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + dev-perl/CGI + dev-perl/SQL-Translator + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Remove tests that don't work in the network sandbox + "${FILESDIR}/${P}-remove-unworking-tests.patch" + # Issue: https://github.com/greenbone/gvm-libs/issues/960 + "${FILESDIR}/${P}-add-missing-link-to-cjson.patch" +) + +pkg_setup() { + if tc-is-clang; then + local clang_major_version=$(clang-major-version); + if ! has_version "llvm-runtimes/compiler-rt-sanitizers:${clang_major_version}[profile]"; then + eerror "Compiling this package with clang requires llvm-runtimes/compiler-rt-sanitizers to be built with 'profile' USE flag enabled" + die "Clang detected, but llvm-runtimes/compiler-rt-sanitizers not build with 'profile' USE flag enabled" + fi + fi + if tc-is-gcc; then + local gcc_major_version=$(gcc-major-version); + if ! has_version "sys-devel/gcc:${gcc_major_version}[sanitize]"; then + eerror "Compiling this package with gcc requires sys-devel/gcc to be built with 'sanitize' USE flag enabled" + die "Gcc detected, but sys-devel/gcc not build with 'sanitize' USE flag enabled" + fi + fi +} + +src_prepare() { + cmake_src_prepare + # QA-Fix | Remove -Werror compiler flag | Bug: #909558 + sed -i -e "s/-Werror//" "${S}"/CMakeLists.txt || die + # QA-Fix | Remove doxygen warnings for !CLANG + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in; do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DGVM_RUN_DIR=${EPREFIX}/var/lib/gvm" + "-DBUILD_TESTS=$(usex test)" + "-DBUILD_WITH_RADIUS=$(usex radius)" + "-DBUILD_WITH_LDAP=$(usex ldap)" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + cmake_build rebuild_cache + if use test; then + cmake_build tests + fi +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/doc/generated/html/. ) + fi + cmake_src_install + + # Set proper permissions on required files/directories + keepdir /var/lib/gvm + if ! use prefix; then + fowners -R gvm:gvm /var/lib/gvm + fi +} diff --git a/net-analyzer/gvm-libs/gvm-libs-22.35.4.ebuild b/net-analyzer/gvm-libs/gvm-libs-22.35.4.ebuild new file mode 100644 index 000000000000..4202ba358c21 --- /dev/null +++ b/net-analyzer/gvm-libs/gvm-libs-22.35.4.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs + +DESCRIPTION="Greenbone Vulnerability Management (GVM) libraries" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvm-libs/" +SRC_URI="https://github.com/greenbone/gvm-libs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc ldap test radius" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + >=app-crypt/gpgme-1.7.0:= + >=dev-libs/glib-2.42:2 + >=dev-libs/hiredis-1.1.0:= + dev-libs/libgcrypt:= + dev-libs/libgpg-error + >=dev-libs/cJSON-1.7.14 + >=dev-libs/libxml2-2.0:2= + >=net-libs/gnutls-3.2.15:= + net-libs/libnet:1.1 + net-libs/libpcap + >=net-libs/libssh-0.6.0:= + >=sys-apps/util-linux-2.25.0 + sys-libs/libxcrypt:= + >=virtual/zlib-1.2.8:= + net-libs/paho-mqtt-c:1.3 + >=net-misc/curl-7.83.0 + ldap? ( net-nds/openldap:= ) + radius? ( net-dialup/freeradius-client ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-vcs/git + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + dev-perl/CGI + dev-perl/SQL-Translator + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Remove tests that don't work in the network sandbox + "${FILESDIR}/${P}-remove-unworking-tests.patch" +) + +pkg_setup() { + if tc-is-clang; then + local clang_major_version=$(clang-major-version); + if ! has_version "llvm-runtimes/compiler-rt-sanitizers:${clang_major_version}[profile]"; then + eerror "Compiling this package with clang requires llvm-runtimes/compiler-rt-sanitizers to be built with 'profile' USE flag enabled" + die "Clang detected, but llvm-runtimes/compiler-rt-sanitizers not build with 'profile' USE flag enabled" + fi + fi + if tc-is-gcc; then + local gcc_major_version=$(gcc-major-version); + if ! has_version "sys-devel/gcc:${gcc_major_version}[sanitize]"; then + eerror "Compiling this package with gcc requires sys-devel/gcc to be built with 'sanitize' USE flag enabled" + die "Gcc detected, but sys-devel/gcc not build with 'sanitize' USE flag enabled" + fi + fi +} + +src_prepare() { + cmake_src_prepare + # QA-Fix | Remove -Werror compiler flag | Bug: #909558 + sed -i -e "s/-Werror//" "${S}"/CMakeLists.txt || die + # QA-Fix | Remove doxygen warnings for !CLANG + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in; do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DGVM_RUN_DIR=${EPREFIX}/var/lib/gvm" + "-DBUILD_TESTS=$(usex test)" + "-DBUILD_WITH_RADIUS=$(usex radius)" + "-DBUILD_WITH_LDAP=$(usex ldap)" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + cmake_build rebuild_cache + if use test; then + cmake_build tests + fi +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/doc/generated/html/. ) + fi + cmake_src_install + + # Set proper permissions on required files/directories + keepdir /var/lib/gvm + if ! use prefix; then + fowners -R gvm:gvm /var/lib/gvm + fi +} diff --git a/net-analyzer/gvm-libs/metadata.xml b/net-analyzer/gvm-libs/metadata.xml new file mode 100644 index 000000000000..718d96f60ede --- /dev/null +++ b/net-analyzer/gvm-libs/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + This is the libraries module for the Greenbone Vulnerability Management Solution. + It is used for the Greenbone Security Manager appliances and provides various + functionalities to support the integrated service daemons. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gvm-tools/Manifest b/net-analyzer/gvm-tools/Manifest new file mode 100644 index 000000000000..9ea75eb5bc5f --- /dev/null +++ b/net-analyzer/gvm-tools/Manifest @@ -0,0 +1,2 @@ +DIST gvm-tools-25.4.0.tar.gz 263485 BLAKE2B a70a1a3962ba3892a52c921672dcc3a534f6c448a9db17d17d62e3237ca1cca9dab7828436704918708c5e91006369fa79c23b997273ce1aba0cbb7688e26adb SHA512 988bae093d7b6441f183116139a3f9989a00098edbf277751c288fb807ff7b7a003dbe96b515f12864eff484cf5bc1e9fe8d643c98582601525207507e6e0381 +DIST gvm-tools-25.4.5.tar.gz 274429 BLAKE2B ca4142e2227a1599ef936264bb6b410aa74d7c60fdfb56fd51854d580f7ceeb473e540c885664964df22637785ebe100b321cf2a51348a3fe02c99d33a23f194 SHA512 5fc332c55afdb18893255f89924b0c273408fdfd461d5af5e9b129a425637f730fb863a130fac2c7e10e4f86144572a35864b31589708d628d5a6e64c5f43bd3 diff --git a/net-analyzer/gvm-tools/gvm-tools-25.4.0.ebuild b/net-analyzer/gvm-tools/gvm-tools-25.4.0.ebuild new file mode 100644 index 000000000000..9b3e6320bcf2 --- /dev/null +++ b/net-analyzer/gvm-tools/gvm-tools-25.4.0.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 + +DESCRIPTION="Remote control for Greenbone Vulnerability Manager, previously named openvas-cli" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvm-tools/" +SRC_URI="https://github.com/greenbone/gvm-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + >=net-analyzer/python-gvm-26.0.0[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" + +distutils_enable_tests unittest diff --git a/net-analyzer/gvm-tools/gvm-tools-25.4.5.ebuild b/net-analyzer/gvm-tools/gvm-tools-25.4.5.ebuild new file mode 100644 index 000000000000..f524196a52b0 --- /dev/null +++ b/net-analyzer/gvm-tools/gvm-tools-25.4.5.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 + +DESCRIPTION="Remote control for Greenbone Vulnerability Manager, previously named openvas-cli" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvm-tools/" +SRC_URI="https://github.com/greenbone/gvm-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=net-analyzer/python-gvm-26.0.0[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" + +distutils_enable_tests unittest diff --git a/net-analyzer/gvm-tools/metadata.xml b/net-analyzer/gvm-tools/metadata.xml new file mode 100644 index 000000000000..807319c9aaa6 --- /dev/null +++ b/net-analyzer/gvm-tools/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + The Greenbone Vulnerability Management Tools or gvm-tools + in short are a collection of tools that help with remote controlling + a Greenbone Security Manager (GSM) appliance and its + underlying Greenbone Vulnerability Manager (GVM). + The tools essentially aid accessing the communication protocols + GMP (Greenbone Management Protocol) and OSP (Open Scanner Protocol). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gvm/files/gvm.init b/net-analyzer/gvm/files/gvm.init new file mode 100644 index 000000000000..22a736c403b3 --- /dev/null +++ b/net-analyzer/gvm/files/gvm.init @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${GVM_USER:=gvm} +: ${GVM_GROUP:=$(id -ng ${GVM_USER})} +: ${GVM_TIMEOUT:=30} + +name="Greenbone Vulnerability Manager" +command="/bin/true" +command_background="true" +command_user="${GVM_USER}:${GVM_GROUP}" +pidfile="/run/gvm/gvm.pid" +retry="${GVM_TIMEOUT}" + +depend() { + after bootmisc + need localmount net redis-openvas ospd-openvas gvmd gsad + want notus-scanner +} + +start_pre() { + mkdir /run/gvm + chown -R gvm:gvm /run/gvm/ +} diff --git a/net-analyzer/gvm/files/gvm.target b/net-analyzer/gvm/files/gvm.target new file mode 100644 index 000000000000..783f8781579a --- /dev/null +++ b/net-analyzer/gvm/files/gvm.target @@ -0,0 +1,5 @@ +[Unit] +Description=Greenbone Vulnerability Manager +Requires=multi-user.target redis-openvas.service ospd-openvas.service gvmd.service gsad.service +Wants=notus-scanner.service +After=syslog.target network.target networking.service multi-user.target notus-scanner.service redis-openvas.service ospd-openvas.service gvmd.service gsad.service diff --git a/net-analyzer/gvm/gvm-22.4-r1.ebuild b/net-analyzer/gvm/gvm-22.4-r1.ebuild new file mode 100644 index 000000000000..7923454943d6 --- /dev/null +++ b/net-analyzer/gvm/gvm-22.4-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature systemd + +DESCRIPTION="Greenbone Vulnerability Management, previously named OpenVAS" +HOMEPAGE="https://www.greenbone.net" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="cli doc +gsa ldap ospd snmp radius" + +RDEPEND=" + >=net-analyzer/gvm-libs-${PV}[doc?,ldap?,radius?] + >=net-analyzer/gvmd-${PV}[doc?] + >=net-analyzer/openvas-scanner-${PV}[doc?,snmp?] + >=net-analyzer/greenbone-feed-sync-23.6.0 + cli? ( >=net-analyzer/gvm-tools-21.10.0 ) + gsa? ( >=net-analyzer/gsad-${PV}[doc?] ) + ospd? ( >=net-analyzer/ospd-openvas-${PV}[doc?] ) +" + +src_unpack() { + mkdir "${WORKDIR}/${P}" +} + +src_install() { + systemd_dounit "${FILESDIR}/${PN}.target" + newinitd "${FILESDIR}/${PN}.init" "${PN}" +} + +pkg_postinst() { + optfeature "web server scanning and testing tool" net-analyzer/nikto + optfeature "IPsec VPN scanning, fingerprinting and testing tool" net-analyzer/ike-scan + optfeature "port scanner" net-analyzer/nmap + optfeature "create results from local security checks" net-analyzer/notus-scanner + optfeature "command line tool to scan for alive hosts" net-analyzer/boreas +} diff --git a/net-analyzer/gvm/gvm-25.5.0.ebuild b/net-analyzer/gvm/gvm-25.5.0.ebuild new file mode 100644 index 000000000000..9d12c1551028 --- /dev/null +++ b/net-analyzer/gvm/gvm-25.5.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature systemd + +DESCRIPTION="Greenbone Vulnerability Management, previously named OpenVAS" +HOMEPAGE="https://www.greenbone.net" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="cli doc +gsa ldap ospd snmp radius" + +RDEPEND=" + >=net-analyzer/gvm-libs-22.22.0[doc?,ldap?,radius?] + >=net-analyzer/gvmd-26.0.0[doc?] + >=net-analyzer/openvas-scanner-23.20.1[doc?,snmp?] + >=net-analyzer/greenbone-feed-sync-23.6.0 + cli? ( >=net-analyzer/gvm-tools-25.3.0 ) + gsa? ( + >=net-analyzer/gsad-24.3.0[doc?] + >=net-analyzer/gsa-25.0.0 + ) + ospd? ( >=net-analyzer/ospd-openvas-22.9.0[doc?] ) +" + +src_unpack() { + mkdir "${WORKDIR}/${P}" +} + +src_install() { + systemd_dounit "${FILESDIR}/${PN}.target" + newinitd "${FILESDIR}/${PN}.init" "${PN}" +} + +pkg_postinst() { + optfeature "web server scanning and testing tool" net-analyzer/nikto + optfeature "IPsec VPN scanning, fingerprinting and testing tool" net-analyzer/ike-scan + optfeature "port scanner" net-analyzer/nmap + optfeature "create results from local security checks" net-analyzer/notus-scanner + optfeature "command line tool to scan for alive hosts" net-analyzer/boreas +} diff --git a/net-analyzer/gvm/metadata.xml b/net-analyzer/gvm/metadata.xml new file mode 100644 index 000000000000..48720611eaa3 --- /dev/null +++ b/net-analyzer/gvm/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="cli">Command Line Interface for OpenVAS Scanner</flag> + <flag name="gsa">Greenbone Security Assistant (WebUI)</flag> + <flag name="ospd">Enable support for scanner wrappers</flag> + </use> + <longdescription lang="en"> + GVM previously named OpenVAS stands for Open Vulnerability Assessment System and is a network security scanner + with associated tools like a graphical user front-end. + The core component is a server with a set of network vulnerability tests (NVTs) to detect security problems in remote systems and applications. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/gvmd/Manifest b/net-analyzer/gvmd/Manifest new file mode 100644 index 000000000000..45435278be87 --- /dev/null +++ b/net-analyzer/gvmd/Manifest @@ -0,0 +1,2 @@ +DIST gvmd-26.18.1.tar.gz 1270941 BLAKE2B e1055824d687e820b5a89da4a1f89d1dc09dd16f537dc107e4f318615fd5ed497258f68b77620be32ce6797e51de02ffe4537ae11096d322cc7481db25754347 SHA512 0da3d83a220583ac31ca527f7c3080d6e4a0c86fa3312d09397cc90eaaef11d83229b39a7edf42c8bb204b5e3d92d35cac413bf7b90503efbc53e9991e5e12cd +DIST gvmd-26.3.0.tar.gz 1217037 BLAKE2B a2a60a04910bee6dac68bb6fd11aa3baba8fb70a506e131e877a82a931858c9c46e8c5dd272794097883dda542fc90d3eee2d025739fd7caa63bf782fb7dc8ce SHA512 cfb351b4c6cd6391f888c0031f44b72a48a16e355798f136ebec063df5561d36726332bf3fd257f7559bde5833990ac08598993d125f4e45e8eac3c595fdf6f7 diff --git a/net-analyzer/gvmd/files/gvmd-22.init b/net-analyzer/gvmd/files/gvmd-22.init new file mode 100644 index 000000000000..784ac4fd3d80 --- /dev/null +++ b/net-analyzer/gvmd/files/gvmd-22.init @@ -0,0 +1,24 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${GVMD_USER:=gvm} +: ${GVMD_GROUP:=$(id -ng ${GVMD_USER})} +: ${GVMD_TIMEOUT:=30} + +name="Greenbone Vulnerability Manager" +command=/usr/bin/gvmd +command_args="${GVMD_VT_UPDATE} ${GVMD_OPTIONS} ${GVMD_LISTEN_ADDRESS_TCP} ${GVMD_PORT} ${GVMD_SCANNER_HOST} ${GVMD_GNUTLS_PRIORITIES}" +command_user="${GVMD_USER}:${GVMD_GROUP}" +pidfile="/run/gvmd/gvmd.pid" +retry="${GVMD_TIMEOUT}" + +depend() { + after bootmisc postgresql postgresql-9.6 postgresql-10 postgresql-11 postgresql-12 postgresql-13 postgresql-14 postgresql-15 postgresql-16 postgresql-17 postgresql-18 + want postgresql postgresql-9.6 postgresql-10 postgresql-11 postgresql-12 postgresql-13 postgresql-14 postgresql-15 postgresql-16 postgresql-17 postgresql-18 + need localmount net ospd-openvas +} + +start_pre() { + checkpath -d --owner ${GVMD_USER} /run/gvmd +} diff --git a/net-analyzer/gvmd/files/gvmd-26.18.1-remove-unworking-tests.patch b/net-analyzer/gvmd/files/gvmd-26.18.1-remove-unworking-tests.patch new file mode 100644 index 000000000000..e9eb667f5473 --- /dev/null +++ b/net-analyzer/gvmd/files/gvmd-26.18.1-remove-unworking-tests.patch @@ -0,0 +1,35 @@ +# Remove tests that don't work in the network sandbox +# Strip out sanitizer from tests + +--- a/cmake/add_unit_test.cmake ++++ b/cmake/add_unit_test.cmake +@@ -22,14 +22,16 @@ macro(add_unit_test _baseName _objects _extraSource) + ${_objects} + ${TEST_TARGET_EXTRA_SRC} + ) +- target_compile_options(${_testName} PRIVATE "-fsanitize=address") +- target_link_options(${_testName} PRIVATE "-fsanitize=address") ++# target_compile_options(${_testName} PRIVATE "-fsanitize=address") ++# target_link_options(${_testName} PRIVATE "-fsanitize=address") + add_test(${_testName} ${_testName}) ++#[===[ + set_tests_properties( + ${_testName} + PROPERTIES + ENVIRONMENT "ASAN_OPTIONS=detect_leaks=1:halt_on_error=1:abort_on_error=1" + ) ++]===] + target_link_libraries( + ${_testName} + cgreen +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -428,7 +428,7 @@ set( + $<TARGET_OBJECTS:all-misc-obj> + $<TARGET_OBJECTS:all-sql-obj> + ) +-add_unit_test(gmp-tickets "${ALL_OBJECTS}" "${ALL_GMP_SRC}") ++#add_unit_test(gmp-tickets "${ALL_OBJECTS}" "${ALL_GMP_SRC}") + + set( + ALL_OBJECTS diff --git a/net-analyzer/gvmd/files/gvmd-26.3.0-remove-unworking-tests.patch b/net-analyzer/gvmd/files/gvmd-26.3.0-remove-unworking-tests.patch new file mode 100644 index 000000000000..c975998fa7cd --- /dev/null +++ b/net-analyzer/gvmd/files/gvmd-26.3.0-remove-unworking-tests.patch @@ -0,0 +1,12 @@ +# Remove tests that don't work in the network sandbox +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -387,7 +387,7 @@ add_executable( + ${TEST_TARGET_EXTRA_SRC} + ) + +-add_test(gmp-tickets-test gmp-tickets-test) ++#add_test(gmp-tickets-test gmp-tickets-test) + + set(TEST_TARGET_EXTRA_SRC ${ALL_MISC_SRC}) + list(REMOVE_ITEM TEST_TARGET_EXTRA_SRC utils.c) diff --git a/net-analyzer/gvmd/files/gvmd-daemon-22.conf b/net-analyzer/gvmd/files/gvmd-daemon-22.conf new file mode 100644 index 000000000000..061609e1c45c --- /dev/null +++ b/net-analyzer/gvmd/files/gvmd-daemon-22.conf @@ -0,0 +1,32 @@ +# GVMD command args + +# e.g --foreground +GVMD_OPTIONS="" + +# Manager listen address unix socket +# Failing under non-root user (looking for solution) +GVMD_LISTEN_ADDRESS_UNIX="--unix-socket=/run/gvmd/gvmd.sock" + +# Manager listen address TCP +GVMD_LISTEN_ADDRESS_TCP="--listen=127.0.0.1" + +# Manager listen port +GVMD_PORT="--port=9390" + +# Manager unix socket listen owner +GVMD_LISTEN_OWNER="--listen-owner=gvm" + +# Manager unix socket listen group +GVMD_LISTEN_GROUP="--listen-group=gvm" + +# Manager unix socket listen mode +GVMD_LISTEN_MODE="--listen-mode=755" + +# Scanner listen address unix socket +GVMD_SCANNER_HOST="--scanner-host=/run/ospd/ospd-openvas.sock" + +# Update vt +GVMD_VT_UPDATE="--osp-vt-update=/run/ospd/ospd-openvas.sock" + +# TLS settings +GVMD_GNUTLS_PRIORITIES="--gnutls-priorities=SECURE256:+SUITEB192:+SECURE192:+SECURE128:+SUITEB128:-MD5:-SHA1:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-SSL3.0" diff --git a/net-analyzer/gvmd/files/gvmd.service.conf b/net-analyzer/gvmd/files/gvmd.service.conf new file mode 100644 index 000000000000..4ea1442d4a7a --- /dev/null +++ b/net-analyzer/gvmd/files/gvmd.service.conf @@ -0,0 +1,27 @@ +[Unit] +After=postgresql-9.6.service +After=postgresql-10.service +After=postgresql-11.service +After=postgresql-12.service +After=postgresql-13.service +After=postgresql-14.service +After=postgresql-15.service +After=postgresql-16.service +After=postgresql-17.service +After=postgresql-18.service +Wants=postgresql-9.6.service +Wants=postgresql-10.service +Wants=postgresql-11.service +Wants=postgresql-12.service +Wants=postgresql-13.service +Wants=postgresql-14.service +Wants=postgresql-15.service +Wants=postgresql-16.service +Wants=postgresql-17.service +Wants=postgresql-18.service +PartOf=gvm.target + +[Service] +Type=exec +ExecStart= +ExecStart=/usr/bin/gvmd --foreground --osp-vt-update=/run/ospd/ospd-openvas.sock --listen-group=gvm diff --git a/net-analyzer/gvmd/gvmd-26.18.1.ebuild b/net-analyzer/gvmd/gvmd-26.18.1.ebuild new file mode 100644 index 000000000000..eeef96c1df11 --- /dev/null +++ b/net-analyzer/gvmd/gvmd-26.18.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd toolchain-funcs + +DESCRIPTION="Greenbone vulnerability manager, previously named openvas-manager" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvmd/" +SRC_URI="https://github.com/greenbone/gvmd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + app-crypt/gpgme:1= + dev-libs/libbsd + >=dev-db/postgresql-9.6:=[uuid] + >=dev-libs/cJSON-1.7.14 + >=dev-libs/glib-2.42:2 + >=dev-libs/libical-1.0.0:= + >=net-analyzer/gvm-libs-22.34 + >=net-libs/gnutls-3.2.15:=[tools] +" + +# gvmd (optionally) uses xml_split from XML-Twig at runtime. And texlive +# and xmlstartlet are used for (PDF) report generator at runtime. +RDEPEND=" + ${DEPEND} + app-text/xmlstarlet + dev-perl/XML-Twig + dev-texlive/texlive-latexextra + >=net-analyzer/ospd-openvas-22.4 + >=dev-db/pg-gvm-22.4 +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + dev-libs/libxslt + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Remove tests that don't work in the network sandbox + "${FILESDIR}/${P}-remove-unworking-tests.patch" +) + +src_prepare() { + cmake_src_prepare + # QA-Fix | Use correct FHS/Gentoo policy paths for 9.0.0 + sed -i -e "s*share/doc/gvm/html/*share/doc/${PF}/html/*g" docs/CMakeLists.txt || die + sed -i -e "s*/doc/gvm/*/doc/${PF}/*g" CMakeLists.txt || die + # Fix errors in Doxigen OUTPUT_DIRECTORY paths + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile.in || die + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile_full.in || die + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile_xml.in || die + # QA-Fix | Remove !CLANG Doxygen warnings for 9.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in docs/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DLIBDIR=${EPREFIX}/usr/$(get_libdir)" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" + "-DGVM_DEFAULT_DROP_USER=gvm" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + if use test; then + cmake_build tests + fi + cmake_build rebuild_cache +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/docs/generated/html/. ) + fi + cmake_src_install + + insinto /etc/gvm/sysconfig + newins "${FILESDIR}/${PN}-daemon-22.conf" "${PN}-daemon.conf" + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fi + + newinitd "${FILESDIR}/${PN}-22.init" "${PN}" + newconfd "${FILESDIR}/${PN}-daemon-22.conf" "${PN}" + + # Set proper permissions on required files/directories + keepdir /var/lib/gvm/gvmd + if ! use prefix; then + fowners -R gvm:gvm /var/lib/gvm + fi + + systemd_install_serviced "${FILESDIR}/gvmd.service.conf" \ + ${PN}.service +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} ]]; then + elog "If you are upgrading from a previous version, you need to update the database version." + elog "Please, create the running directory and give write permission to the database user" + elog "then run gvmd as the gvm user with --migrate option:" + elog "~# mkdir /run/gvmd" + elog "~# setfacl -m u:gvm:rwx /run/gvmd/" + elog "~# sudo -u gvm gvmd --migrate" + fi +} diff --git a/net-analyzer/gvmd/gvmd-26.3.0.ebuild b/net-analyzer/gvmd/gvmd-26.3.0.ebuild new file mode 100644 index 000000000000..98cbc243d812 --- /dev/null +++ b/net-analyzer/gvmd/gvmd-26.3.0.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd toolchain-funcs + +DESCRIPTION="Greenbone vulnerability manager, previously named openvas-manager" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvmd/" +SRC_URI="https://github.com/greenbone/gvmd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + app-crypt/gpgme:1= + dev-libs/libbsd + >=dev-db/postgresql-9.6:=[uuid] + >=dev-libs/cJSON-1.7.14 + >=dev-libs/glib-2.42:2 + >=dev-libs/libical-1.0.0:= + >=net-analyzer/gvm-libs-22.28 + >=net-libs/gnutls-3.2.15:=[tools] +" + +# gvmd (optionally) uses xml_split from XML-Twig at runtime. And texlive +# and xmlstartlet are used for (PDF) report generator at runtime. +RDEPEND=" + ${DEPEND} + app-text/xmlstarlet + dev-perl/XML-Twig + dev-texlive/texlive-latexextra + >=net-analyzer/ospd-openvas-22.4 + >=dev-db/pg-gvm-22.4 +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + dev-libs/libxslt + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Remove tests that don't work in the network sandbox + "${FILESDIR}/${P}-remove-unworking-tests.patch" +) + +src_prepare() { + cmake_src_prepare + # QA-Fix | Use correct FHS/Gentoo policy paths for 9.0.0 + sed -i -e "s*share/doc/gvm/html/*share/doc/${PF}/html/*g" docs/CMakeLists.txt || die + sed -i -e "s*/doc/gvm/*/doc/${PF}/*g" CMakeLists.txt || die + # Fix errors in Doxigen OUTPUT_DIRECTORY paths + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile.in || die + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile_full.in || die + sed -i -e "s*@/doc/generated*@/docs/generated*g" docs/Doxyfile_xml.in || die + # QA-Fix | Remove !CLANG Doxygen warnings for 9.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in docs/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DLIBDIR=${EPREFIX}/usr/$(get_libdir)" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" + "-DGVM_DEFAULT_DROP_USER=gvm" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + if use test; then + cmake_build tests + fi + cmake_build rebuild_cache +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/docs/generated/html/. ) + fi + cmake_src_install + + insinto /etc/gvm/sysconfig + newins "${FILESDIR}/${PN}-daemon-22.conf" "${PN}-daemon.conf" + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fi + + newinitd "${FILESDIR}/${PN}-22.init" "${PN}" + newconfd "${FILESDIR}/${PN}-daemon-22.conf" "${PN}" + + # Set proper permissions on required files/directories + keepdir /var/lib/gvm/gvmd + if ! use prefix; then + fowners -R gvm:gvm /var/lib/gvm + fi + + systemd_install_serviced "${FILESDIR}/gvmd.service.conf" \ + ${PN}.service +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} ]]; then + elog "If you are upgrading from a previous version, you need to update the database version." + elog "Please, create the running directory and give write permission to the database user" + elog "then run gvmd as the gvm user with --migrate option:" + elog "~# mkdir /run/gvmd" + elog "~# setfacl -m u:gvm:rwx /run/gvmd/" + elog "~# sudo -u gvm gvmd --migrate" + fi +} diff --git a/net-analyzer/gvmd/metadata.xml b/net-analyzer/gvmd/metadata.xml new file mode 100644 index 000000000000..091938b5c7c5 --- /dev/null +++ b/net-analyzer/gvmd/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + The Greenbone Vulnerability Manager is the central management service between security scanners and the user clients. + It manages the storage of any vulnerability management configurations and of the scan results. + Access to data, control commands and workflows is offered via the XML-based Greenbone Management Protocol (GMP). + The primary scanner OpenVAS Scanner is controlled directly via protocol OTP while any other + remote scanner is coupled with the Open Scanner Protocol (OSP). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/hexinject/Manifest b/net-analyzer/hexinject/Manifest new file mode 100644 index 000000000000..8edb0618ffb3 --- /dev/null +++ b/net-analyzer/hexinject/Manifest @@ -0,0 +1 @@ +DIST hexinject-1.6.tar.gz 16876 BLAKE2B ac2951a5b4705ec84ed72fa5513e84b8bf031bd7e43b05c76fe83fc601cf3a245352afb0f226cc128bb028124ba898bc67394f2d839554ee01e25ee25c8f0c4d SHA512 7432122a7ca42b7ac066cc55daec2d4a656b08e0f390db1a49f626181080d07687026d04a150573e3341e4e76f87a20b6466deddcc9d022e7d66fadcb8dac1ad diff --git a/net-analyzer/hexinject/files/hexinject-1.6-fix-build-system.patch b/net-analyzer/hexinject/files/hexinject-1.6-fix-build-system.patch new file mode 100644 index 000000000000..9d22337afa93 --- /dev/null +++ b/net-analyzer/hexinject/files/hexinject-1.6-fix-build-system.patch @@ -0,0 +1,22 @@ +Author: holgersson <holgersson@posteo.de> +Date: Fri Oct 20 18:30:00 2017 +0200 + +Respect CC, CFLAGS, CPPFLAGS and LDFLAGS. + +--- a/Makefile ++++ b/Makefile +@@ -1,11 +1,7 @@ +-CC = gcc +-CFLAGS = -Wall +-LDFLAGS = -lpcap ++CFLAGS += -Wall ++LDLIBS = -lpcap + +-all: +- $(CC) $(CFLAGS) $(LDFLAGS) -o hexinject hexinject.c +- $(CC) $(CFLAGS) $(LDFLAGS) -o prettypacket prettypacket.c +- $(CC) $(CFLAGS) $(LDFLAGS) -o hex2raw hex2raw.c ++all: hexinject prettypacket hex2raw + + clean: + rm -f hexinject prettypacket hex2raw *~ diff --git a/net-analyzer/hexinject/hexinject-1.6-r2.ebuild b/net-analyzer/hexinject/hexinject-1.6-r2.ebuild new file mode 100644 index 000000000000..06bb1f199fdf --- /dev/null +++ b/net-analyzer/hexinject/hexinject-1.6-r2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Network packet sniffer and injector" +HOMEPAGE="http://hexinject.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+tools experimental" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND} + experimental? ( dev-lang/tcl )" + +PATCHES=( "${FILESDIR}"/${PN}-1.6-fix-build-system.patch ) + +src_configure() { + tc-export CC +} + +src_install() { + dobin hexinject + use tools && dobin hex2raw prettypacket + use experimental && dobin packets.tcl + einstalldocs +} diff --git a/net-analyzer/hexinject/metadata.xml b/net-analyzer/hexinject/metadata.xml new file mode 100644 index 000000000000..7321488f7627 --- /dev/null +++ b/net-analyzer/hexinject/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription lang="en"> + HexInject is a very versatile packet injector and sniffer, that provide + a command-line framework for raw network access. It's designed to work + together with others command-line utilities, and for this reason it + facilitates the creation of powerful shell scripts capable of reading, + intercepting and modifying network traffic in a transparent manner. + </longdescription> + <use> + <flag name="tools">Install hex2raw and prettypacket tools</flag> + <flag name="experimental">Install experimental packets.tcl</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/hping/Manifest b/net-analyzer/hping/Manifest new file mode 100644 index 000000000000..783db30a88d5 --- /dev/null +++ b/net-analyzer/hping/Manifest @@ -0,0 +1 @@ +DIST hping-3_pre20141226.tar.gz 572322 BLAKE2B d7bacdd6ae7ba7589825bb9157fc6501740f2a684bc9045483a57c40af3ccf89a09f2f7ddc31c939886e5173b7c4d29233d87e044df14b86e6fcba7bda4f8abc SHA512 d03c27ec25b813c74d57b4e26acf1a5b1ade15abd93c5f8cbf29a5464c6dc3a8679e1d255d99ad232462d6cda70dcd3b68df13e70e950cac0943cb69bdb14b4c diff --git a/net-analyzer/hping/files/hping-3_pre20051105-libtcl.patch b/net-analyzer/hping/files/hping-3_pre20051105-libtcl.patch new file mode 100644 index 000000000000..807399cb553c --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20051105-libtcl.patch @@ -0,0 +1,16 @@ +When anything libtcl (bug #247282) this will fail, and we're only finding out +the version of the library anyway, so why not use TCL_VER, which is found using +a slightly less fishy method. -JeR + +--- a/configure ++++ b/configure +@@ -98,8 +98,7 @@ + fi + if [ -n $USE_TCL ] + then +- LIBPOSTFIX=`ls -1 /usr/local/lib/ /usr/lib | grep 'libtcl[0-9]' | grep so | sed -e 's/\.so.*//g' -e 's/libtcl//g' | sort -r | head -1` +- TCL_LIB="-ltcl${LIBPOSTFIX} -lm -lpthread" ++ TCL_LIB="-ltcl${TCL_VER} -lm -lpthread" + fi + + # diff --git a/net-analyzer/hping/files/hping-3_pre20051105-tcl.patch b/net-analyzer/hping/files/hping-3_pre20051105-tcl.patch new file mode 100644 index 000000000000..1fb734e349b4 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20051105-tcl.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -63,7 +63,7 @@ + # + for TCLPATH_TRY in "/usr/bin/" "/usr/local/bin/" "/bin/" + do +- for TCLVER_TRY in "8.4" "8.3" "8.2" "8.1" "8.0" ++ for TCLVER_TRY in "8.6" "8.5" "8.4" "8.3" "8.2" "8.1" "8.0" + do + if [ -z $TCLSH ] + then diff --git a/net-analyzer/hping/files/hping-3_pre20051105-tclsh-proper-escaping.patch b/net-analyzer/hping/files/hping-3_pre20051105-tclsh-proper-escaping.patch new file mode 100644 index 000000000000..8cd7065c8393 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20051105-tclsh-proper-escaping.patch @@ -0,0 +1,26 @@ +Fix for https://bugs.gentoo.org/show_bug.cgi?id=486664 + +--- a/configure ++++ b/configure +@@ -65,10 +65,10 @@ + do + for TCLVER_TRY in "8.6" "8.5" "8.4" "8.3" "8.2" "8.1" "8.0" + do +- if [ -z $TCLSH ] ++ if [ -z "$TCLSH" ] + then + TCLSH_TRY=${TCLPATH_TRY}tclsh${TCLVER_TRY} +- if [ -f $TCLSH_TRY ] ++ if [ -f "$TCLSH_TRY" ] + then + TCLSH=$TCLSH_TRY + echo "===> Found Tclsh in: $TCLSH" +@@ -76,7 +76,7 @@ + fi + done + done +-if [ -f $TCLSH ] ++if [ -f "$TCLSH" ] + then + TCL_VER=`echo puts \\$tcl_version | $TCLSH -` + USE_TCL='-DUSE_TCL' diff --git a/net-analyzer/hping/files/hping-3_pre20141226-compile.patch b/net-analyzer/hping/files/hping-3_pre20141226-compile.patch new file mode 100644 index 000000000000..14b6eacdae47 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-compile.patch @@ -0,0 +1,31 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -6,10 +6,7 @@ + # $date: Sun Jul 25 17:56:15 MET DST 1999$ + # $rev: 3$ + +-CC= gcc +-AR=/usr/bin/ar +-RANLIB=/usr/bin/ranlib +-CCOPT= -O2 -Wall @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@ ++CCOPT= $(CFLAGS) -Wall @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@ + DEBUG= -g + #uncomment the following if you need libpcap based build under linux + #(not raccomanded) +@@ -50,14 +47,11 @@ + $(RANLIB) $@ + + hping3: byteorder.h $(OBJ) +- $(CC) -o hping3 $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@ ++ $(CC) -o hping3 $(CCOPT) $(LDFLAGS) $(DEBUG) $(OBJ) -L/usr/$(LIBDIR) $(PCAP) @SOLARISLIB@ @TCL_LIB@ + @echo +- ./hping3 -v +- @echo "use \`make strip' to strip hping3 binary" +- @echo "use \`make install' to install hping3" + + hping3-static: byteorder.h $(OBJ) +- $(CC) -static -o hping3-static $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl ++ $(CC) -static -o hping3-static $(CCOPT) $(DEBUG) $(OBJ) -L/usr/$(LIBDIR) $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl + + byteorder.h: + ./configure diff --git a/net-analyzer/hping/files/hping-3_pre20141226-fno-common.patch b/net-analyzer/hping/files/hping-3_pre20141226-fno-common.patch new file mode 100644 index 000000000000..e21a6d513c59 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-fno-common.patch @@ -0,0 +1,11 @@ +--- a/hping2.h ++++ b/hping2.h +@@ -357,8 +357,6 @@ + int status; + }; + +-volatile struct delaytable_element delaytable[TABLESIZE]; +- + /* protos */ + void nop(void); /* nop */ + int parse_options(int, char**); /* option parser */ diff --git a/net-analyzer/hping/files/hping-3_pre20141226-hping2-2-hping.patch b/net-analyzer/hping/files/hping-3_pre20141226-hping2-2-hping.patch new file mode 100644 index 000000000000..7ceaac921a0b --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-hping2-2-hping.patch @@ -0,0 +1,240 @@ +--- a/docs/hping3.8 ++++ b/docs/hping3.8 +@@ -1,8 +1,8 @@ +-.TH HPING2 8 "2001 Aug 14" ++.TH HPING 8 "2001 Aug 14" + .SH NAME +-hping2 \- send (almost) arbitrary TCP/IP packets to network hosts ++hping \- send (almost) arbitrary TCP/IP packets to network hosts + .SH SYNOPSIS +-.B hping2 ++.B hping + [ + .B \-hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG + ] [ +@@ -116,11 +116,11 @@ + .br + .ad + .SH DESCRIPTION +-hping2 is a network tool able to send custom TCP/IP packets and to +-display target replies like ping program does with ICMP replies. hping2 ++hping is a network tool able to send custom TCP/IP packets and to ++display target replies like ping program does with ICMP replies. hping + handle fragmentation, arbitrary packets body and size and can be used in + order to transfer files encapsulated under supported protocols. Using +-hping2 you are able to perform at least the following stuff: ++hping you are able to perform at least the following stuff: + + - Test firewall rules + - Advanced port scanning +@@ -136,7 +136,7 @@ + - A lot of others. + + .IR "It's also a good didactic tool to learn TCP/IP" . +-hping2 is developed and maintained by antirez@invece.org and is ++hping is developed and maintained by antirez@invece.org and is + licensed under GPL version 2. Development is open so you can send + me patches, suggestion and affronts without inhibitions. + .SH HPING SITE +@@ -158,9 +158,9 @@ + .I -c --count count + Stop after sending (and receiving) + .I count +-response packets. After last packet was send hping2 wait COUNTREACHED_TIMEOUT ++response packets. After last packet was send hping wait COUNTREACHED_TIMEOUT + seconds target host replies. You are able to tune COUNTREACHED_TIMEOUT editing +-hping2.h ++hping.h + .TP + .I -i --interval + Wait +@@ -171,10 +171,10 @@ + .I wait + to X micro seconds. + The default is to wait +-one second between each packet. Using hping2 to transfer files tune this ++one second between each packet. Using hping to transfer files tune this + option is really important in order to increase transfer rate. Even using +-hping2 to perform idle/spoofing scanning you should tune this option, see +-.B HPING2-HOWTO ++hping to perform idle/spoofing scanning you should tune this option, see ++.B HPING-HOWTO + for more information. + .TP + .I --fast +@@ -195,13 +195,13 @@ + startup time and when finished. + .TP + .I -I --interface interface name +-By default on linux and BSD systems hping2 uses default routing interface. ++By default on linux and BSD systems hping uses default routing interface. + In other systems or when there is no default route +-hping2 uses the first non-loopback interface. +-However you are able to force hping2 to use the interface you need using ++hping uses the first non-loopback interface. ++However you are able to force hping to use the interface you need using + this option. Note: you don't need to specify the whole name, for + example -I et will match eth0 ethernet0 myet1 et cetera. If no interfaces +-match hping2 will try to use lo. ++match hping will try to use lo. + .TP + .I -V --verbose + Enable verbose output. TCP replies will be shown as follows: +@@ -211,7 +211,7 @@ + .TP + .I -D --debug + Enable debug mode, it's useful when you experience some problem with +-hping2. When debug mode is enabled you will get more information about ++hping. When debug mode is enabled you will get more information about + .B interface detection, data link layer access, interface settings, options + .B parsing, fragmentation, HCMP protocol + and other stuff. +@@ -223,30 +223,30 @@ + CTRL+Z once or twice. + .TP + .I -Z --unbind +-Unbind CTRL+Z so you will able to stop hping2. ++Unbind CTRL+Z so you will able to stop hping. + .TP + .I --beep + Beep for every matching received packet (but not for ICMP errors). + .SH PROTOCOL SELECTION +-Default protocol is TCP, by default hping2 will send tcp headers to target ++Default protocol is TCP, by default hping will send tcp headers to target + host's port 0 with a winsize of 64 without any tcp flag on. Often this + is the best way to do an 'hide ping', useful when target is behind + a firewall that drop ICMP. Moreover a tcp null-flag to port 0 has a good + probability of not being logged. + .TP + .I -0 --rawip +-RAW IP mode, in this mode hping2 will send IP header with data ++RAW IP mode, in this mode hping will send IP header with data + appended with --signature and/or --file, see also --ipproto that + allows you to set the ip protocol field. + .TP + .I -1 --icmp +-ICMP mode, by default hping2 will send ICMP echo-request, you can set ++ICMP mode, by default hping will send ICMP echo-request, you can set + other ICMP type/code using + .B --icmptype --icmpcode + options. + .TP + .I -2 --udp +-UDP mode, by default hping2 will send udp to target host's port 0. ++UDP mode, by default hping will send udp to target host's port 0. + UDP header tunable options are the following: + .B --baseport, --destport, --keep. + .TP +@@ -288,11 +288,11 @@ + shows interesting details. + .TP + .I -9 --listen signature +-HPING2 listen mode, using this option hping2 waits for packet that contain ++HPING listen mode, using this option hping waits for packet that contain + .I signature + and dump from + .I signature +-end to packet's end. For example if hping2 --listen TEST reads a packet ++end to packet's end. For example if hping --listen TEST reads a packet + that contain + .B 234-09sdflkjs45-TESThello_world + it will display +@@ -304,7 +304,7 @@ + ensures that target will not gain your real address. However replies + will be sent to spoofed address, so you will can't see them. In order + to see how it's possible to perform spoofed/idle scanning see the +-.BR HPING2-HOWTO . ++.BR HPING-HOWTO . + .TP + .I --rand-source + This option enables the +@@ -347,7 +347,7 @@ + or + .B --bind + options. If in doubt try +-.BR "" "`" "hping2 some.host.com -t 1 --traceroute" "'." ++.BR "" "`" "hping some.host.com -t 1 --traceroute" "'." + .TP + .I -N --id + Set ip->id field. Default id is random but if fragmentation is turned on +@@ -361,11 +361,11 @@ + .I -W --winid + id from Windows* systems before Win2k has different byte ordering, if this + option is enable +-hping2 will properly display id replies from those Windows. ++hping will properly display id replies from those Windows. + .TP + .I -r --rel + Display id increments instead of id. See the +-.B HPING2-HOWTO ++.B HPING-HOWTO + for more information. Increments aren't computed as id[N]-id[N-1] but + using packet loss compensation. See relid.c for more information. + .TP +@@ -445,7 +445,7 @@ + .SH TCP/UDP RELATED OPTIONS + .TP + .I -s --baseport source port +-hping2 uses source port in order to guess replies sequence number. It ++hping uses source port in order to guess replies sequence number. It + starts with a base source port number, and increase this number for each + packet sent. When packet is received sequence number can be computed as + .IR "replies.dest.port - base.source.port" . +@@ -485,7 +485,7 @@ + by target host. This can be useful when you need to analyze whether + TCP sequence number is predictable. Output example: + +-.B #hping2 win98 --seqnum -p 139 -S -i u1 -I eth0 ++.B #hping win98 --seqnum -p 139 -S -i u1 -I eth0 + .nf + HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes + 2361294848 +2361294848 +@@ -540,8 +540,8 @@ + .SH COMMON OPTIONS + .TP + .I -d --data data size +-Set packet body size. Warning, using --data 40 hping2 will not generate +-0 byte packets but protocol_header+40 bytes. hping2 will display ++Set packet body size. Warning, using --data 40 hping will not generate ++0 byte packets but protocol_header+40 bytes. hping will display + packet size information as first line output, like this: + .B HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes + .TP +@@ -577,9 +577,9 @@ + A to host B you may use the following: + .nf + .I [host_a] +-.B # hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd ++.B # hping host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd + .I [host_b] +-.B # hping2 host_a --listen signature --safe --icmp ++.B # hping host_a --listen signature --safe --icmp + .fi + .TP + .I -u --end +@@ -587,13 +587,13 @@ + .I --file filename + option, tell you when EOF has been reached. Moreover prevent that other end + accept more packets. Please, for more information see the +-.BR HPING2-HOWTO . ++.BR HPING-HOWTO . + .TP + .I -T --traceroute +-Traceroute mode. Using this option hping2 will increase ttl for each ++Traceroute mode. Using this option hping will increase ttl for each + .B ICMP time to live 0 during transit + received. Try +-.BR "hping2 host --traceroute" . ++.BR "hping host --traceroute" . + This option implies --bind and --ttl 1. You can override the ttl of 1 + using the --ttl option. Since 2.0.0 stable it prints RTT information. + .TP +@@ -601,7 +601,7 @@ + Keep the TTL fixed in traceroute mode, so you can monitor just one hop + in the route. For example, to monitor how the 5th hop changes or + how its RTT changes you can try +-.BR "hping2 host --traceroute --ttl 5 --tr-keep-ttl" . ++.BR "hping host --traceroute --ttl 5 --tr-keep-ttl" . + .TP + .I --tr-stop + If this option is specified hping will exit once the first packet diff --git a/net-analyzer/hping/files/hping-3_pre20141226-indent.patch b/net-analyzer/hping/files/hping-3_pre20141226-indent.patch new file mode 100644 index 000000000000..1f8952d1b3b7 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-indent.patch @@ -0,0 +1,13 @@ +--- a/rtt.c ++++ b/rtt.c +@@ -45,8 +45,8 @@ + tablepos = i; + break; + } +- if (i != TABLESIZE) +- *seqp = delaytable[i].seq; ++ if (i != TABLESIZE) ++ *seqp = delaytable[i].seq; + } + + if (tablepos != -1) diff --git a/net-analyzer/hping/files/hping-3_pre20141226-pcap-bpf.patch b/net-analyzer/hping/files/hping-3_pre20141226-pcap-bpf.patch new file mode 100644 index 000000000000..698e404f79ea --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-pcap-bpf.patch @@ -0,0 +1,24 @@ +--- a/libpcap_stuff.c ++++ b/libpcap_stuff.c +@@ -16,8 +16,8 @@ + #include <string.h> + #include <stdlib.h> + #include <sys/ioctl.h> +-#include <net/bpf.h> + #include <pcap.h> ++#include <pcap-bpf.h> + + #include "globals.h" + +--- a/script.c ++++ b/script.c +@@ -23,8 +23,8 @@ + #include <sched.h> + + #include <sys/ioctl.h> +-#include <net/bpf.h> + #include <pcap.h> ++#include <pcap-bpf.h> + + #include "release.h" + #include "hping2.h" diff --git a/net-analyzer/hping/files/hping-3_pre20141226-scan-overflow.patch b/net-analyzer/hping/files/hping-3_pre20141226-scan-overflow.patch new file mode 100644 index 000000000000..ae3df1e54434 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-scan-overflow.patch @@ -0,0 +1,11 @@ +--- a/scan.c ++++ b/scan.c +@@ -456,7 +456,7 @@ + continue; + /* time to copy headers in a safe place */ + p = (unsigned char*) packet+linkhdr_size+iphdrlen; +- memcpy(&icmp, p, sizeof(subtcp)); ++ memcpy(&icmp, p, sizeof(icmp)); + p += sizeof(icmp); + memcpy(&subip, p, sizeof(ip)); + p += sizeof(ip); diff --git a/net-analyzer/hping/files/hping-3_pre20141226-unused-but-set.patch b/net-analyzer/hping/files/hping-3_pre20141226-unused-but-set.patch new file mode 100644 index 000000000000..887b90efad93 --- /dev/null +++ b/net-analyzer/hping/files/hping-3_pre20141226-unused-but-set.patch @@ -0,0 +1,45 @@ +--- a/apd.c ++++ b/apd.c +@@ -893,6 +893,7 @@ + return -ARS_ERROR; + err = ars_push_data(pkt, layer, binary, blen); + free(binary); ++ return err; + } else if (strcasecmp(f, "uint32") == 0) { + int err; + __u32 t, nt; +--- a/ars.c ++++ b/ars.c +@@ -906,15 +906,17 @@ + * system isn't FreeBSD or NetBSD. */ + int ars_bsd_fix(struct ars_packet *pkt, unsigned char *packet, size_t size) + { ++#if defined OSTYPE_DARWIN || defined OSTYPE_FREEBSD || defined OSTYPE_NETBSD || defined OSTYPE_BSDI + struct ars_iphdr *ip; ++#endif + + if (pkt->p_layer[0].l_type != ARS_TYPE_IP || + size < sizeof(struct ars_iphdr)) { + ars_set_error(pkt, "BSD fix requested, but layer 0 not IP"); + return -ARS_INVALID; + } +- ip = (struct ars_iphdr*) packet; + #if defined OSTYPE_DARWIN || defined OSTYPE_FREEBSD || defined OSTYPE_NETBSD || defined OSTYPE_BSDI ++ ip = (struct ars_iphdr*) packet; + ip->tot_len = ntohs(ip->tot_len); + ip->frag_off = ntohs(ip->frag_off); + #endif +--- a/libpcap_stuff.c ++++ b/libpcap_stuff.c +@@ -23,9 +23,11 @@ + + int open_pcap() + { ++#if (!defined OSTYPE_LINUX) && (!defined __sun__) + int on; + + on = 1; /* no warning if BIOCIMMEDIATE will not be compiled */ ++#endif + if (opt_debug) + printf("DEBUG: pcap_open_live(%s, 99999, 0, 1, %p)\n", + ifname, errbuf); diff --git a/net-analyzer/hping/hping-3_pre20141226.ebuild b/net-analyzer/hping/hping-3_pre20141226.ebuild new file mode 100644 index 000000000000..600ed753d0ba --- /dev/null +++ b/net-analyzer/hping/hping-3_pre20141226.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs + +HPING_COMMIT="3547c7691742c6eaa31f8402e0ccbb81387c1b99" +DESCRIPTION="A ping-like TCP/IP packet assembler/analyzer" +HOMEPAGE="http://www.hping.org" +SRC_URI="https://github.com/antirez/${PN}/archive/${HPING_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${HPING_COMMIT}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ~sparc x86" +IUSE="tcl" + +DEPEND=" + net-libs/libpcap + tcl? ( dev-lang/tcl:0= ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-3_pre20051105-libtcl.patch + "${FILESDIR}"/${PN}-3_pre20051105-tcl.patch + "${FILESDIR}"/${PN}-3_pre20051105-tclsh-proper-escaping.patch + "${FILESDIR}"/${PN}-3_pre20141226-compile.patch + "${FILESDIR}"/${PN}-3_pre20141226-hping2-2-hping.patch + "${FILESDIR}"/${PN}-3_pre20141226-indent.patch + "${FILESDIR}"/${PN}-3_pre20141226-pcap-bpf.patch + "${FILESDIR}"/${PN}-3_pre20141226-scan-overflow.patch + "${FILESDIR}"/${PN}-3_pre20141226-unused-but-set.patch + "${FILESDIR}"/${PN}-3_pre20141226-fno-common.patch +) + +src_configure() { + # bug #861161 + filter-lto + + tc-export CC + + # Not an autotools type configure: + sh configure $(usex tcl '' --no-tcl) || die +} + +src_compile() { + emake \ + DEBUG="" \ + "CFLAGS=${CFLAGS}" \ + "AR=$(tc-getAR)" \ + "RANLIB=$(tc-getRANLIB)" \ + "LIBDIR=$(get_libdir)" +} + +src_install() { + dosbin hping3 + dosym hping3 /usr/sbin/hping + dosym hping3 /usr/sbin/hping2 + + newman docs/hping3.8 hping.8 + + dodoc AUTHORS BUGS CHANGES INSTALL NEWS README TODO +} diff --git a/net-analyzer/hping/metadata.xml b/net-analyzer/hping/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/hping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/httping/Manifest b/net-analyzer/httping/Manifest new file mode 100644 index 000000000000..e0beef948394 --- /dev/null +++ b/net-analyzer/httping/Manifest @@ -0,0 +1 @@ +DIST httping-2.9.tar.gz 83674 BLAKE2B aa1e2b74756ebf62896ad2a4b89e68eff61f73f98ff881bba2fe4e14d2ed2a63af84a2780122ad845d1057ece3f37d567b7bf5d5b62a4b8487c58f1442a90fdf SHA512 74d4a98590b6862a2f15fffdf3bc58e3226a94c7aebbe60135695397b20e6cb71fe8c2af75b8525724f2f9ce6530d1f8eecd3193bc50f31d254bbb9903615019 diff --git a/net-analyzer/httping/files/httping-2.2.1-flags.patch b/net-analyzer/httping/files/httping-2.2.1-flags.patch new file mode 100644 index 000000000000..194eb473577c --- /dev/null +++ b/net-analyzer/httping/files/httping-2.2.1-flags.patch @@ -0,0 +1,12 @@ +--- a/Makefile ++++ b/Makefile +@@ -84,8 +84,7 @@ + endif + + ifeq ($(DEBUG),yes) +-CFLAGS+=-D_DEBUG -ggdb +-LDFLAGS+=-g ++CFLAGS+=-D_DEBUG + endif + + ifeq ($(ARM),yes) diff --git a/net-analyzer/httping/files/httping-2.9-c99.patch b/net-analyzer/httping/files/httping-2.9-c99.patch new file mode 100644 index 000000000000..48e07219d4e8 --- /dev/null +++ b/net-analyzer/httping/files/httping-2.9-c99.patch @@ -0,0 +1,35 @@ +https://github.com/folkertvanheusden/HTTPing/pull/12 + +From 684a6e255ea2f5b11a0548e5d99c2678be7563d9 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sat, 16 Dec 2023 10:48:17 +0000 +Subject: [PATCH] http.c: add <stdlib.h> for malloc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 14 makes implicit function declarations an error by default: +``` +http.c: In function ‘get_HTTP_headers’: +http.c:21:32: error: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] + 21 | char *buffer = (char *)malloc(len + 1); + | ^~~~~~ +http.c:16:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’ + 15 | #include "utils.h" + +++ |+#include <stdlib.h> + 16 | +[...] +``` + +Bug: https://bugs.gentoo.org/920107 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/http.c ++++ b/http.c +@@ -2,6 +2,7 @@ + + #include <assert.h> + #include <stdio.h> ++#include <stdlib.h> + #include <string.h> + #include <unistd.h> + #ifndef NO_SSL diff --git a/net-analyzer/httping/httping-2.9-r1.ebuild b/net-analyzer/httping/httping-2.9-r1.ebuild new file mode 100644 index 000000000000..a9db3b0d13f7 --- /dev/null +++ b/net-analyzer/httping/httping-2.9-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic + +DESCRIPTION="http protocol ping-like program" +HOMEPAGE="https://www.vanheusden.com/httping/" +SRC_URI="https://github.com/folkertvanheusden/HTTPing/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/HTTPing-${PV} + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc x86" +IUSE="debug fftw l10n_nl ncurses ssl +tfo" + +RDEPEND=" + fftw? ( sci-libs/fftw:3.0 ) + ncurses? ( sys-libs/ncurses:= ) + ssl? ( dev-libs/openssl:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="ncurses? ( virtual/pkgconfig )" + +# This would bring in test? ( dev-util/cppcheck ) but unlike +# upstream we should only care about compile/run time testing +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2.1-flags.patch + "${FILESDIR}"/${PN}-2.9-c99.patch +) + +src_prepare() { + default + + # Don't clobber toolchain defaults + sed -i -e 's:-D_FORTIFY_SOURCE=2::' Makefile || die + + # doman does not get PN-LANG.CAT so we move things around and then point at + # it later + if use l10n_nl; then + mkdir nl || die + mv httping-nl.1 nl/httping.1 || die + fi + +} + +src_configure() { + # not an autotools script + echo > makefile.inc || die + + if use ncurses ; then + local ncurses_flags="$($(tc-getPKG_CONFIG) --libs ncurses)" + + # Don't require ncurses with unicode support + # bug #731950 + sed -i -e "s/-lncursesw/${ncurses_flags}/" Makefile || die + append-libs "${ncurses_flags}" + fi +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + FW=$(usex fftw) \ + DEBUG=$(usex debug) \ + NC=$(usex ncurses) \ + SSL=$(usex ssl) \ + TFO=$(usex tfo) +} + +src_install() { + dobin httping + doman httping.1 + + use l10n_nl && doman -i18n=nl nl/httping.1 +} diff --git a/net-analyzer/httping/metadata.xml b/net-analyzer/httping/metadata.xml new file mode 100644 index 000000000000..36290f4b90fb --- /dev/null +++ b/net-analyzer/httping/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="tfo">Enable support for TCP Fast Open</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/hydra/Manifest b/net-analyzer/hydra/Manifest new file mode 100644 index 000000000000..1d89838a306e --- /dev/null +++ b/net-analyzer/hydra/Manifest @@ -0,0 +1 @@ +DIST hydra-9.6.tar.gz 837339 BLAKE2B c55401fe5c7a18789c131739951b2bb43442beb13e2f5ff9f0d83bd3d6a70272a7f97b444c290ec0a9ecc6959793b1aa70faabc1f6b28496ada19469230b0f89 SHA512 588f33b818dd475f19ab538644d54a3a08fa16fd2c119b8baf25ff9de8f15140d24438d2105e3cc1096fe5a6d12c51879992664409e97102c83ba1422b8b5e05 diff --git a/net-analyzer/hydra/files/hydra-9.5-no-clobber-fortify-source.patch b/net-analyzer/hydra/files/hydra-9.5-no-clobber-fortify-source.patch new file mode 100644 index 000000000000..281e5b63c9ff --- /dev/null +++ b/net-analyzer/hydra/files/hydra-9.5-no-clobber-fortify-source.patch @@ -0,0 +1,14 @@ +Don't clobber toolchain defaults. + +https://bugs.gentoo.org/895530 +--- a/configure ++++ b/configure +@@ -1381,7 +1381,7 @@ fi + echo "Checking for secure compile option support in $CC ..." + GCCSEC="no" + LDSEC="no" +-GCCSECOPT="-fstack-protector-all --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" ++GCCSECOPT="-fstack-protector-all --param ssp-buffer-size=4" + echo '#include <stdio.h>' > $TMPC.c + echo 'int main() { printf(""); return 0; }' >> $TMPC.c + $CC -pie -fPIE $GCCSEPOPT -o $TMPC $TMPC.c > /dev/null 2> $TMPC.c.err diff --git a/net-analyzer/hydra/files/hydra-9.6-c23.patch b/net-analyzer/hydra/files/hydra-9.6-c23.patch new file mode 100644 index 000000000000..b770510ceebf --- /dev/null +++ b/net-analyzer/hydra/files/hydra-9.6-c23.patch @@ -0,0 +1,42 @@ +From edf95af0ffcb3169d7c015d22f7a3036a645bb58 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Sat, 15 Nov 2025 13:20:06 +0200 +Subject: [PATCH] Avoid warnings over incompatible pointer types + +g_timeout_add expects a function prototype with gpointer for data. It +isn't used here so its just NULL for all. + +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/hydra-gtk/src/callbacks.c ++++ b/hydra-gtk/src/callbacks.c +@@ -385,7 +385,7 @@ int hydra_get_options(char *options[]) { + return i; + } + +-int update_statusbar() { ++int update_statusbar(gpointer user_data) { + int i, j; + char *options[128]; + guint context_id; +@@ -544,7 +544,7 @@ int *popen_re_unbuffered(char *command) { + + hydra_pid = 0; + +- update_statusbar(); ++ update_statusbar(NULL); + + /* only allocate once */ + if (NULL == pfd) +--- a/hydra-gtk/src/callbacks.h ++++ b/hydra-gtk/src/callbacks.h +@@ -1,6 +1,6 @@ + #include <gtk/gtk.h> + +-int update_statusbar(); ++int update_statusbar(gpointer user_data); + + void on_quit1_activate(GtkMenuItem *menuitem, gpointer user_data); + +-- +2.51.2 + diff --git a/net-analyzer/hydra/hydra-9.6.ebuild b/net-analyzer/hydra/hydra-9.6.ebuild new file mode 100644 index 000000000000..a97a8a90f38c --- /dev/null +++ b/net-analyzer/hydra/hydra-9.6.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo 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 gcrypt gtk idn memcached mongodb mysql ncurses oracle pcre postgres rdp libssh samba subversion zlib" + +RDEPEND=" + dev-libs/openssl:= + gtk? ( + >=app-accessibility/at-spi2-core-2.46.0 + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:2 + ) + gcrypt? ( dev-libs/libgcrypt ) + idn? ( net-dns/libidn:= ) + memcached? ( + || ( + dev-libs/libmemcached-awesome[sasl] + dev-libs/libmemcached[sasl] + ) + ) + mongodb? ( dev-libs/mongo-c-driver ) + mysql? ( dev-db/mysql-connector-c:= ) + ncurses? ( sys-libs/ncurses:= ) + oracle? ( dev-db/oracle-instantclient[sdk] ) + pcre? ( dev-libs/libpcre2 ) + postgres? ( dev-db/postgresql:* ) + rdp? ( net-misc/freerdp:3= ) + libssh? ( >=net-libs/libssh-0.4.0 ) + samba? ( net-fs/samba ) + subversion? ( dev-vcs/subversion ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-9.5-no-clobber-fortify-source.patch + "${FILESDIR}"/${PN}-9.6-c23.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 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 '-lfreerdp3' '$( "${PKG_CONFIG}" --libs freerdp3 )' '-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' + + edo ./configure \ + $(usev !gtk '--disable-xhydra') \ + $(usev 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 +} diff --git a/net-analyzer/hydra/metadata.xml b/net-analyzer/hydra/metadata.xml new file mode 100644 index 000000000000..a7184c1d2f96 --- /dev/null +++ b/net-analyzer/hydra/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <use> + <flag name="gcrypt">Enable radmin2 support through <pkg>dev-libs/libgcrypt</pkg> + </flag> + <flag name="libssh">Enable SSH support through <pkg>net-libs/libssh</pkg> + </flag> + <flag name="mongodb">MongoDB support through <pkg>dev-libs/mongo-c-driver</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ibmonitor/Manifest b/net-analyzer/ibmonitor/Manifest new file mode 100644 index 000000000000..729a84a56ec4 --- /dev/null +++ b/net-analyzer/ibmonitor/Manifest @@ -0,0 +1 @@ +DIST ibmonitor-1.4.tar.gz 17025 BLAKE2B 33dcd54d3750b5e0dc70caaaf30f58f1dc2215cb2ba24174fafbfa356f27ae98133407505038df19104e9f8e1971ed4f8bf9ffeff37196d4640e90a4054970c6 SHA512 ef74dee22dbb88d07c37af9aaa0a0a49b6c49ff1b45a1637d06acbe32e4bc4e84d79cfe06ee7ba2b04d62fa3cfa0a10605eccde549d2fe04890dfa179adf20db diff --git a/net-analyzer/ibmonitor/ibmonitor-1.4-r1.ebuild b/net-analyzer/ibmonitor/ibmonitor-1.4-r1.ebuild new file mode 100644 index 000000000000..8c4bdc7bbd79 --- /dev/null +++ b/net-analyzer/ibmonitor/ibmonitor-1.4-r1.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Interactive bandwidth monitor" +HOMEPAGE="https://ibmonitor.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +KEYWORDS="~amd64 ~hppa ~ppc ~riscv x86" +LICENSE="GPL-2+" +SLOT="0" + +RDEPEND="dev-perl/TermReadKey" + +src_install() { + dobin ibmonitor + dodoc AUTHORS ChangeLog README TODO +} diff --git a/net-analyzer/ibmonitor/metadata.xml b/net-analyzer/ibmonitor/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ibmonitor/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/icinga2/Manifest b/net-analyzer/icinga2/Manifest new file mode 100644 index 000000000000..bbfea1d0fd24 --- /dev/null +++ b/net-analyzer/icinga2/Manifest @@ -0,0 +1,2 @@ +DIST icinga2-2.15.0.tar.gz 9446841 BLAKE2B fb3e55633229c739407976ef3462470b4d6e3f6927df1d70db1188aec32831c01810fadf67d759db646be5dc7336f0ecc273f59bf96002ecc1e2c93bc8be67ea SHA512 247372464f48e87175ca86862f69c82ed204f133b7f012ec78ff63eefc105e1614b5434b9dd3f654479132a0b387e12c7b92efbfb22383ba83304dcc25beb281 +DIST icinga2-2.16.0.tar.gz 9585508 BLAKE2B 296d357830d76c06915b8439d2232611617b2c7bad2794a2ad3603e10a96afaef5681f86f2709c15877b8c17aaedcce0032762c5f0f1903042d11e1b981d9379 SHA512 1bf9060d3589fb70238290d624180f324398375d69caf38d21060857650033b1450ee7c82c6089fbc756a94461f3bfe465c3190558e327d4427a0fc1e1da3199 diff --git a/net-analyzer/icinga2/files/icinga2-boost-1.89.patch b/net-analyzer/icinga2/files/icinga2-boost-1.89.patch new file mode 100644 index 000000000000..98d51bdf0f22 --- /dev/null +++ b/net-analyzer/icinga2/files/icinga2-boost-1.89.patch @@ -0,0 +1,23 @@ +From 76fa0d9e8054f405dc3d1e39a4b48f21e86afdf0 Mon Sep 17 00:00:00 2001 +From: "Alexander A. Klimov" <alexander.klimov@icinga.com> +Date: Thu, 14 Aug 2025 11:05:37 +0200 +Subject: [PATCH] Boost: don't require "system" component + +It's vanished in v1.89. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86abc77d661..1a087b8ed2f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,7 +172,7 @@ else() + set(LOGROTATE_CREATE "\n\tcreate 644 ${ICINGA2_USER} ${ICINGA2_GROUP}") + endif() + +-find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS coroutine context date_time filesystem iostreams thread system program_options regex REQUIRED) ++find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS coroutine context date_time filesystem iostreams thread program_options regex REQUIRED) + + # Boost.Coroutine2 (the successor of Boost.Coroutine) + # (1) doesn't even exist in old Boost versions and diff --git a/net-analyzer/icinga2/files/icinga2.initd-3 b/net-analyzer/icinga2/files/icinga2.initd-3 new file mode 100644 index 000000000000..5af259d5ddf8 --- /dev/null +++ b/net-analyzer/icinga2/files/icinga2.initd-3 @@ -0,0 +1,81 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +# Set defaults, see /etc/conf.d/icinga2 to override +: ${DAEMON:=/usr/sbin/icinga2} +: ${ICINGA2_CONFIG_FILE:=/etc/icinga2/icinga2.conf} +: ${ICINGA2_RUN_DIR:=/run/icinga2} +: ${ICINGA2_STATE_DIR:=/var/cache/icinga2} +: ${ICINGA2_PID_FILE:=${ICINGA2_RUN_DIR}/icinga2.pid} +: ${ICINGA2_CMD_DIR:=${ICINGA2_RUN_DIR}/cmd} +: ${ICINGA2_LOG_DIR:=/var/log/icinga2} +: ${ICINGA2_ERROR_LOG:=/var/log/icinga2/error.log} +: ${ICINGA2_STARTUP_LOG:=/var/log/icinga2/startup.log} +: ${ICINGA2_LOG:=/var/log/icinga2/icinga2.log} +: ${ICINGA2_CACHE_DIR:=/var/cache/icinga2} +: ${ICINGA2_USER:=icinga} +: ${ICINGA2_GROUP:=icingacmd} +: ${ICINGA2_COMMAND_GROUP:=icingacmd} + +ICINGA2_DAEMON_ARGS="daemon -c $ICINGA2_CONFIG_FILE -e $ICINGA2_ERROR_LOG -d" + +depend() { + need net +} + +checkconfig() { + if [ ! -e "$ICINGA2_CONFIG_FILE" ]; then + ewarn "Config file '$ICINGA2_CONFIG_FILE' does not exist." + eend 1 + fi + + checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_RUN_DIR + checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_STATE_DIR + checkpath -d -m 2750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CMD_DIR + checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CACHE_DIR + + if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 2>&1; then + eerror "Icinga2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting icinga2" + start-stop-daemon --start --exec "${DAEMON}" \ + --pidfile "${ICINGA2_PID_FILE}" \ + -- $ICINGA2_DAEMON_ARGS > $ICINGA2_STARTUP_LOG 2>&1 + local retval=$? + if [ $retval -ne 0 ]; then + ewarn "Error starting icinga2. '$ICINGA2_STARTUP_LOG' for details." + fi + eend $retval +} + +stop() { + ebegin "Stopping icinga2" + start-stop-daemon \ + --stop \ + --pidfile $ICINGA2_PID_FILE \ + --retry "SIGTERM/15 SIGKILL/30" \ + --progress + eend $? +} + +reload() { + checkconfig || return 1 + + ebegin "Reloading icinga2" + start-stop-daemon --signal HUP --pidfile "$ICINGA2_PID_FILE" + + local retval=$? + if [ $retval -ne 0 ]; then + ewarn "Error reloading icinga2." + fi + eend $retval +} diff --git a/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild b/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild new file mode 100644 index 000000000000..6ae680ff855a --- /dev/null +++ b/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake eapi9-ver + +# https://bugs.gentoo.org/960527#c9 +CMAKE_QA_COMPAT_SKIP=1 + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm64 x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi + +DESCRIPTION="Distributed, general purpose, network monitoring engine" +HOMEPAGE="https://icinga.com/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="console jumbo-build mail mariadb minimal +mysql +plugins postgres test systemd" +RESTRICT="!test? ( test )" + +# Add accounts to DEPEND because of fowners in src_install +DEPEND=" + dev-libs/openssl:= + dev-libs/boost:=[context] + console? ( dev-libs/libedit ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:= ) + dev-libs/yajl:= + acct-user/icinga + acct-group/icinga + acct-group/icingacmd +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +RDEPEND=" + ${DEPEND} + acct-group/nagios + plugins? ( || ( + net-analyzer/monitoring-plugins + net-analyzer/nagios-plugins + ) ) + mail? ( virtual/mailx ) +" + +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" + +PATCHES=( + "${FILESDIR}/icinga2-boost-1.89.patch" +) + +src_configure() { + local mycmakeargs=( + -DICINGA2_UNITY_BUILD=$(usex jumbo-build) + -DCMAKE_INSTALL_SYSCONFDIR=/etc + -DCMAKE_INSTALL_LOCALSTATEDIR=/var + -DICINGA2_SYSCONFIGFILE=/etc/conf.d/icinga2 + -DICINGA2_PLUGINDIR="/usr/$(get_libdir)/nagios/plugins" + -DICINGA2_USER=icinga + -DICINGA2_GROUP=icingacmd + -DICINGA2_COMMAND_GROUP=icingacmd + -DICINGA2_RUNDIR=/run + -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON + -DUSE_SYSTEMD=$(usex systemd) + -DICINGA2_WITH_TESTS=$(usex test) + -DLOGROTATE_HAS_SU=ON + # only appends -flto + -DICINGA2_LTO_BUILD=OFF + ) + + # default to off if minimal, allow the flags to be set otherwise + if use minimal; then + mycmakeargs+=( + -DICINGA2_WITH_MYSQL=OFF + -DICINGA2_WITH_PGSQL=OFF + ) + else + mycmakeargs+=( + -DICINGA2_WITH_PGSQL=$(usex postgres) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 + + if use mysql || use mariadb; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* + fi + if use postgres; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* + fi + + # See messiness in bug #638686 + keepdir /etc/icinga2 + keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash + keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp + + rm -r "${D}/run" || die "failed to remove /run" + rm -r "${D}/var/cache" || die "failed to remove /var/cache" + + fowners -R icinga:icinga /etc/icinga2 + fperms 0750 /etc/icinga2 + fowners icinga:icinga /var/lib/icinga2 + fowners -R icinga:icingacmd /var/lib/icinga2/api + fowners -R icinga:icingacmd /var/lib/icinga2/certificate-requests + fowners -R icinga:icingacmd /var/lib/icinga2/certs + fowners icinga:icinga /var/spool/icinga2 + fowners icinga:icinga /var/spool/icinga2/perfdata + fowners icinga:icingacmd /var/log/icinga2 + + fperms ug+rwX,o-rwx /etc/icinga2 + fperms ug+rwX,o-rwx /var/lib/icinga2 + fperms ug+rwX,o-rwx /var/spool/icinga2 + fperms ug+rwX,o-rwx /var/log/icinga2 + + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax + + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc +} + +pkg_postinst() { + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" + fi +} diff --git a/net-analyzer/icinga2/icinga2-2.16.0.ebuild b/net-analyzer/icinga2/icinga2-2.16.0.ebuild new file mode 100644 index 000000000000..bc8191bb60be --- /dev/null +++ b/net-analyzer/icinga2/icinga2-2.16.0.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake eapi9-ver + +# https://bugs.gentoo.org/960527#c9 +CMAKE_QA_COMPAT_SKIP=1 + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi + +DESCRIPTION="Distributed, general purpose, network monitoring engine" +HOMEPAGE="https://icinga.com/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="console jumbo-build mail mariadb minimal +mysql opentelemetry +plugins postgres systemd test" +RESTRICT="!test? ( test )" + +# Add accounts to DEPEND because of fowners in src_install +DEPEND=" + dev-libs/openssl:= + dev-libs/boost:=[context] + console? ( dev-libs/libedit ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:= ) + dev-libs/yajl:= + acct-user/icinga + acct-group/icinga + acct-group/icingacmd +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +RDEPEND=" + ${DEPEND} + acct-group/nagios + plugins? ( || ( + net-analyzer/monitoring-plugins + net-analyzer/nagios-plugins + ) ) + mail? ( virtual/mailx ) +" + +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" + +src_configure() { + local mycmakeargs=( + -DICINGA2_UNITY_BUILD=$(usex jumbo-build) + -DCMAKE_INSTALL_SYSCONFDIR=/etc + -DCMAKE_INSTALL_LOCALSTATEDIR=/var + -DICINGA2_SYSCONFIGFILE=/etc/conf.d/icinga2 + -DICINGA2_PLUGINDIR="/usr/$(get_libdir)/nagios/plugins" + -DICINGA2_USER=icinga + -DICINGA2_GROUP=icingacmd + -DICINGA2_COMMAND_GROUP=icingacmd + -DICINGA2_RUNDIR=/run + -DICINGA2_WITH_OPENTELEMETRY=$(usex opentelemetry) + -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON + -DUSE_SYSTEMD=$(usex systemd) + -DBUILD_TESTING=$(usex test) + -DLOGROTATE_HAS_SU=ON + # only appends -flto + -DICINGA2_LTO_BUILD=OFF + ) + + # default to off if minimal, allow the flags to be set otherwise + if use minimal; then + mycmakeargs+=( + -DICINGA2_WITH_MYSQL=OFF + -DICINGA2_WITH_PGSQL=OFF + ) + else + mycmakeargs+=( + -DICINGA2_WITH_PGSQL=$(usex postgres) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 + + if use mysql || use mariadb; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* + fi + if use postgres; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* + fi + + # See messiness in bug #638686 + keepdir /etc/icinga2 + keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash + keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp + + rm -r "${D}/run" || die "failed to remove /run" + rm -r "${D}/var/cache" || die "failed to remove /var/cache" + + fowners -R icinga:icinga /etc/icinga2 + fperms 0750 /etc/icinga2 + fowners icinga:icinga /var/lib/icinga2 + fowners -R icinga:icingacmd /var/lib/icinga2/api + fowners -R icinga:icingacmd /var/lib/icinga2/certificate-requests + fowners -R icinga:icingacmd /var/lib/icinga2/certs + fowners icinga:icinga /var/spool/icinga2 + fowners icinga:icinga /var/spool/icinga2/perfdata + fowners icinga:icingacmd /var/log/icinga2 + + fperms ug+rwX,o-rwx /etc/icinga2 + fperms ug+rwX,o-rwx /var/lib/icinga2 + fperms ug+rwX,o-rwx /var/spool/icinga2 + fperms ug+rwX,o-rwx /var/log/icinga2 + + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax + + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc +} + +pkg_postinst() { + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" + fi +} diff --git a/net-analyzer/icinga2/icinga2-9999.ebuild b/net-analyzer/icinga2/icinga2-9999.ebuild new file mode 100644 index 000000000000..99745d7b4483 --- /dev/null +++ b/net-analyzer/icinga2/icinga2-9999.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake eapi9-ver + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi + +DESCRIPTION="Distributed, general purpose, network monitoring engine" +HOMEPAGE="https://icinga.com/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="console jumbo-build mail mariadb minimal +mysql opentelemetry +plugins postgres systemd" + +# Add accounts to DEPEND because of fowners in src_install +DEPEND=" + dev-libs/openssl:= + dev-libs/boost:=[context] + console? ( dev-libs/libedit ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:= ) + dev-libs/yajl:= + acct-user/icinga + acct-group/icinga + acct-group/icingacmd +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +RDEPEND=" + ${DEPEND} + acct-group/nagios + plugins? ( || ( + net-analyzer/monitoring-plugins + net-analyzer/nagios-plugins + ) ) + mail? ( virtual/mailx ) +" + +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" + +src_configure() { + local mycmakeargs=( + -DICINGA2_UNITY_BUILD=$(usex jumbo-build) + -DCMAKE_INSTALL_SYSCONFDIR=/etc + -DCMAKE_INSTALL_LOCALSTATEDIR=/var + -DICINGA2_SYSCONFIGFILE=/etc/conf.d/icinga2 + -DICINGA2_PLUGINDIR="/usr/$(get_libdir)/nagios/plugins" + -DICINGA2_USER=icinga + -DICINGA2_GROUP=icingacmd + -DICINGA2_COMMAND_GROUP=icingacmd + -DICINGA2_RUNDIR=/run + -DICINGA2_WITH_OPENTELEMETRY=$(usex opentelemetry) + -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON + -DUSE_SYSTEMD=$(usex systemd) + -DLOGROTATE_HAS_SU=ON + # only appends -flto + -DICINGA2_LTO_BUILD=OFF + ) + + # default to off if minimal, allow the flags to be set otherwise + if use minimal; then + mycmakeargs+=( + -DICINGA2_WITH_MYSQL=OFF + -DICINGA2_WITH_PGSQL=OFF + ) + else + mycmakeargs+=( + -DICINGA2_WITH_PGSQL=$(usex postgres) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 + + if use mysql || use mariadb; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* + fi + if use postgres; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* + fi + + # See messiness in bug #638686 + keepdir /etc/icinga2 + keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash + keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp + + rm -r "${D}/run" || die "failed to remove /run" + rm -r "${D}/var/cache" || die "failed to remove /var/cache" + + fowners -R icinga:icinga /etc/icinga2 + fperms 0750 /etc/icinga2 + fowners icinga:icinga /var/lib/icinga2 + fowners -R icinga:icingacmd /var/lib/icinga2/api + fowners -R icinga:icingacmd /var/lib/icinga2/certificate-requests + fowners -R icinga:icingacmd /var/lib/icinga2/certs + fowners icinga:icinga /var/spool/icinga2 + fowners icinga:icinga /var/spool/icinga2/perfdata + fowners icinga:icingacmd /var/log/icinga2 + + fperms ug+rwX,o-rwx /etc/icinga2 + fperms ug+rwX,o-rwx /var/lib/icinga2 + fperms ug+rwX,o-rwx /var/spool/icinga2 + fperms ug+rwX,o-rwx /var/log/icinga2 + + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax + + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc +} + +pkg_postinst() { + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" + fi +} diff --git a/net-analyzer/icinga2/metadata.xml b/net-analyzer/icinga2/metadata.xml new file mode 100644 index 000000000000..02f522269c42 --- /dev/null +++ b/net-analyzer/icinga2/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <use> + <flag name="console">Adds support for line-editing in the console</flag> + <flag name="jumbo-build">Combine source files to speed up build process, requires more memory</flag> + <flag name="mail">Allows for mailing of alerts</flag> + <flag name="mariadb">Enable support for the mariadb database backend</flag> + <flag name="plugins">Adds support for nagios plugins</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ifmetric/Manifest b/net-analyzer/ifmetric/Manifest new file mode 100644 index 000000000000..7ab4a1d7efda --- /dev/null +++ b/net-analyzer/ifmetric/Manifest @@ -0,0 +1 @@ +DIST ifmetric-0.3.tar.gz 81502 BLAKE2B f918932edb730e50ee3598eaeaadd036ca970234c955f05d45ba44c719b650c222adf0e6f971ed6c3387900ee019e092d7e313f0da57afcc6cd63ef842c644c9 SHA512 301d6bc1c97a59597fe55d81a04c1b654aee24d12ac10201ab56cf23b5164808270f15c142cc49142787db70b400cc18b96561aefcf212111ba47df28f07aa95 diff --git a/net-analyzer/ifmetric/files/ifmetric-0.3-replybuf.patch b/net-analyzer/ifmetric/files/ifmetric-0.3-replybuf.patch new file mode 100644 index 000000000000..883ce2b31215 --- /dev/null +++ b/net-analyzer/ifmetric/files/ifmetric-0.3-replybuf.patch @@ -0,0 +1,11 @@ +--- a/src/nlrequest.c ++++ b/src/nlrequest.c +@@ -44,7 +44,7 @@ + + for (;;) { + int bytes; +- char replybuf[2048]; ++ char replybuf[4096]; + struct nlmsghdr *p = (struct nlmsghdr *) replybuf; + + if ((bytes = recv(s, &replybuf, sizeof(replybuf), 0)) < 0) { diff --git a/net-analyzer/ifmetric/files/ifmetric-0.3-ul.patch b/net-analyzer/ifmetric/files/ifmetric-0.3-ul.patch new file mode 100644 index 000000000000..eb432dc29c0e --- /dev/null +++ b/net-analyzer/ifmetric/files/ifmetric-0.3-ul.patch @@ -0,0 +1,11 @@ +--- a/src/nlrequest.c ++++ b/src/nlrequest.c +@@ -56,7 +56,7 @@ + int ret; + + if (!NLMSG_OK(p, bytes) || bytes < sizeof(struct nlmsghdr) || bytes < p->nlmsg_len) { +- fprintf(stderr, "NETLINK: Packet too small or truncated! %u!=%u!=%u\n", bytes, sizeof(struct nlmsghdr), p->nlmsg_len); ++ fprintf(stderr, "NETLINK: Packet too small or truncated! %u!=%lu!=%u\n", bytes, sizeof(struct nlmsghdr), p->nlmsg_len); + return -1; + } + diff --git a/net-analyzer/ifmetric/ifmetric-0.3-r4.ebuild b/net-analyzer/ifmetric/ifmetric-0.3-r4.ebuild new file mode 100644 index 000000000000..27101a208ed3 --- /dev/null +++ b/net-analyzer/ifmetric/ifmetric-0.3-r4.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Set metrics of all IPv4 routes attached to a given network interface at once" +HOMEPAGE="http://0pointer.de/lennart/projects/ifmetric/" +SRC_URI="http://0pointer.de/lennart/projects/ifmetric/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" + +DEPEND="sys-kernel/linux-headers" + +PATCHES=( + "${FILESDIR}"/${P}-ul.patch + "${FILESDIR}"/${P}-replybuf.patch +) +HTML_DOCS=( doc/README.html ) + +src_prepare() { + default + + # bug #899926 + eautoreconf +} + +src_configure() { + # man page and HTML are already generated + econf \ + --disable-xmltoman \ + --disable-lynx +} diff --git a/net-analyzer/ifmetric/metadata.xml b/net-analyzer/ifmetric/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ifmetric/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ifstat/Manifest b/net-analyzer/ifstat/Manifest new file mode 100644 index 000000000000..ea51723e7850 --- /dev/null +++ b/net-analyzer/ifstat/Manifest @@ -0,0 +1 @@ +DIST ifstat-1.1.tar.gz 67920 BLAKE2B b9aeb18488f419fd6a03f698ed41d442b812765d5c1636dc6ea1e0484b5b1a6bc40b484bf88a715c63417d52db92927c128477714264ee3fe14ceb482330cb06 SHA512 b1aef8e7b14cbf265e2d42277478fd12a565287f90f37b0a826ba3e7d29640df757c7d56f149e406bf5890663ed734b2c658c4f1e2b258ded3649f2fc3e9ac64 diff --git a/net-analyzer/ifstat/files/ifstat-1.1-hardened.patch b/net-analyzer/ifstat/files/ifstat-1.1-hardened.patch new file mode 100644 index 000000000000..10c377ac7678 --- /dev/null +++ b/net-analyzer/ifstat/files/ifstat-1.1-hardened.patch @@ -0,0 +1,11 @@ +--- a/configure.in ++++ b/configure.in +@@ -58,7 +58,7 @@ + /*) file=$with_proc; with_proc=yes ;; + *) file=/proc/net/dev + AC_MSG_CHECKING([for proc interface in $file]) +- if grep -q Inter- $file 2>/dev/null; then ++ if true; then + AC_DEFINE([USE_PROC], 1, [Define if you want to use /proc to get stats]) + AC_DEFINE_UNQUOTED([PROC_FILE], ["$file"], [Proc file to poll for stats]) + with_proc=yes diff --git a/net-analyzer/ifstat/files/ifstat-1.1-make.patch b/net-analyzer/ifstat/files/ifstat-1.1-make.patch new file mode 100644 index 000000000000..62feb8b0005a --- /dev/null +++ b/net-analyzer/ifstat/files/ifstat-1.1-make.patch @@ -0,0 +1,122 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -65,14 +65,14 @@ + install: install-$(TARGET) install-@LIBTARGET@ + + install-$(TARGET): $(TARGET) +- $(INSTALL) -d -m 755 $(bindir) +- $(INSTALL) -s -m 755 $(TARGET) $(bindir)/$(TARGET) +- $(INSTALL) -d -m 755 $(mandir)/man1 +- $(INSTALL) -m 644 ifstat.1 $(mandir)/man1/ifstat.1 ++ $(INSTALL) -d -m 755 $(DESTDIR)/$(bindir) ++ $(INSTALL) -m 755 $(TARGET) $(DESTDIR)/$(bindir)/$(TARGET) ++ $(INSTALL) -d -m 755 $(DESTDIR)/$(mandir)/man1 ++ $(INSTALL) -m 644 ifstat.1 $(DESTDIR)/$(mandir)/man1/ifstat.1 + + install-$(LIBTARGET): $(LIBTARGET) libifstat-config +- $(INSTALL) -d -m 755 $(bindir) +- $(INSTALL) -m 755 libifstat-config $(bindir)/libifstat-config ++ $(INSTALL) -d -m 755 $(DESTDIR)/$(bindir) ++ $(INSTALL) -m 755 libifstat-config $(DESTDIR)/$(bindir)/libifstat-config + $(INSTALL) -d -m 755 $(includedir) + $(INSTALL) -m 644 ifstat.h $(includedir)/ifstat.h + $(INSTALL) -d -m 755 $(libdir) +--- a/configure.in ++++ b/configure.in +@@ -55,9 +55,8 @@ + # checking for proc (Linux) + if test "x$with_proc" != "xno"; then + case "$with_proc" in +- /*) file=$with_proc ;; +- *) file=/proc/net/dev ;; +- esac ++ /*) file=$with_proc; with_proc=yes ;; ++ *) file=/proc/net/dev + AC_MSG_CHECKING([for proc interface in $file]) + if grep -q Inter- $file 2>/dev/null; then + AC_DEFINE([USE_PROC], 1, [Define if you want to use /proc to get stats]) +@@ -69,6 +68,8 @@ + with_proc=no + fi + AC_MSG_RESULT([$with_proc]) ++ ;; ++ esac + fi + + # checking for kstat (Solaris) +@@ -393,7 +394,7 @@ + [snmp_ok=yes], [snmp_ok=no]) + AC_MSG_RESULT([$snmp_ok]) + if test "x$snmp_ok" = "xyes"; then +- with_snmp=yes ++ use_snmp=yes + snmp_type=net + else + CPPFLAGS="$OCPPFLAGS" +@@ -402,22 +403,22 @@ + fi + + if test "x$snmp_ok" != "xyes"; then +- if test "x$with_snmp" != "xyes" ; then ++ if test "x$use_snmp" != "xyes" ; then + CPPFLAGS="$CPPFLAGS -I$with_snmp/include" + LDFLAGS="$LDFLAGS -L$with_snmp/lib" + fi + AC_CHECK_HEADER(net-snmp/net-snmp-config.h, snmp_type=net, + [AC_CHECK_HEADER(ucd-snmp/ucd-snmp-config.h, +- snmp_type=ucd, with_snmp=no)]) ++ snmp_type=ucd, use_snmp=no)]) + +- if test "x$with_snmp" != "xno"; then ++ if test "x$use_snmp" != "xno"; then + if test "x$snmp_type" = "xnet"; then + libsnmp="-lnetsnmp" + else + libsnmp="-lsnmp" + fi + +- with_snmp=no ++ use_snmp=no + SNMPLIBALONE="$libsnmp" + # Setting to be able to force linking with -lcrypto.... + # This is needed on OpenBSD (at least) where the snmplib port links without -lcrypto, +@@ -429,18 +430,18 @@ + SNMPLIBALONE="" + fi + for lib in $SNMPLIBALONE "$libsnmp -lcrypto" ; do +- if test "x$with_snmp" != "xyes" ; then ++ if test "x$use_snmp" != "xyes" ; then + AC_MSG_CHECKING([for snmp support in $lib]) + OLIBS="$LIBS" + LIBS="$LIBS $lib" + AC_TRY_LINK([], [snmp_sess_init();], +- [with_snmp=yes], [LIBS="$OLIBS"]) +- AC_MSG_RESULT([$with_snmp]) ++ [use_snmp=yes], [LIBS="$OLIBS"]) ++ AC_MSG_RESULT([$use_snmp]) + fi + done + fi + fi +- if test "x$with_snmp" = "xyes" ; then ++ if test "x$use_snmp" = "xyes" ; then + AC_DEFINE([USE_SNMP], 1, [Define if you have SNMP support]) + if test "x$snmp_type" = "xnet"; then + AC_DEFINE([HAVE_NET_SNMP], 1, +@@ -464,10 +465,13 @@ + + # checking that we do have at least one driver + if test "x$local" != "xyes"; then ++ AC_MSG_WARN([no native stats gathering mechanism found; will use SNMP.]) + if test "x$with_snmp" = "xyes"; then +- AC_MSG_WARN([no native stats gathering mechanism found; will use SNMP.]) +- else +- AC_MSG_ERROR([no statistics gathering methods found, porting needed.]) ++ if test "x$use_snmp" = "xno"; then ++ AC_MSG_ERROR([net-snmp requested but not found.]) ++ else ++ AC_MSG_ERROR([no statistics gathering methods found, porting needed.]) ++ fi + fi + fi + diff --git a/net-analyzer/ifstat/ifstat-1.1-r2.ebuild b/net-analyzer/ifstat/ifstat-1.1-r2.ebuild new file mode 100644 index 000000000000..8d6d6f5501ea --- /dev/null +++ b/net-analyzer/ifstat/ifstat-1.1-r2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Network interface bandwidth usage, with support for snmp targets" +HOMEPAGE="http://gael.roualland.free.fr/ifstat/" +SRC_URI="http://gael.roualland.free.fr/ifstat/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86" +IUSE="snmp" + +DEPEND="snmp? ( >=net-analyzer/net-snmp-5.0 )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-make.patch + "${FILESDIR}"/${P}-hardened.patch +) +DOCS=( HISTORY README TODO ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf $(use_with snmp) +} diff --git a/net-analyzer/ifstat/metadata.xml b/net-analyzer/ifstat/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ifstat/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ifstatus/Manifest b/net-analyzer/ifstatus/Manifest new file mode 100644 index 000000000000..3d533a2aa938 --- /dev/null +++ b/net-analyzer/ifstatus/Manifest @@ -0,0 +1 @@ +DIST ifstatus-v2.0.0.tar.gz 24058 BLAKE2B 09a2b0af26cb05dfc24eefdbb6ac52b0ac289a687301f5fa67f0fcaf2622da96e149af3f7c08257e0ef8418f4f08b5ca1b77af71ba7c00dabddcb87cc95ddce7 SHA512 e1720f5dcc26788149cc72ccb72b85fffc72b367f2268e1e4f06a8fe4d80685146d310746c0b1a913e24995f6e93011d7d75ea5b4f9ca479af2d79264b89e27d diff --git a/net-analyzer/ifstatus/files/ifstatus-2.0.0-tinfo.patch b/net-analyzer/ifstatus/files/ifstatus-2.0.0-tinfo.patch new file mode 100644 index 000000000000..ab2f5a921368 --- /dev/null +++ b/net-analyzer/ifstatus/files/ifstatus-2.0.0-tinfo.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ + # Gabriel Montenegro + + GCC = g++ +-LDFLAGS = -lncurses ++LDFLAGS += $(shell $(PKG_CONFIG) --libs ncurses) + CFLAGS = -O2 -Wall + + BIN = ifstatus diff --git a/net-analyzer/ifstatus/ifstatus-2.0.0.ebuild b/net-analyzer/ifstatus/ifstatus-2.0.0.ebuild new file mode 100644 index 000000000000..ff7c23bd9489 --- /dev/null +++ b/net-analyzer/ifstatus/ifstatus-2.0.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Simple CLI program for displaying network statistics in real time" +HOMEPAGE="https://ifstatus.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}-v${PV}.tar.gz" +S="${WORKDIR}/${PN}-v${PV}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 arm ~ppc ~riscv x86" + +RDEPEND=">=sys-libs/ncurses-4.2:0=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.0-tinfo.patch +) + +src_compile() { + tc-export CXX PKG_CONFIG + emake GCC="$(tc-getCXX)" ${PN} +} + +src_install() { + dobin ifstatus + dodoc AUTHORS README +} + +pkg_postinst() { + elog "You may want to configure ~/.ifstatus/ifstatus.cfg" + elog "before running ifstatus. For example, you may add" + elog "Interfaces = eth0 there. Read the README file for" + elog "more information." +} diff --git a/net-analyzer/ifstatus/metadata.xml b/net-analyzer/ifstatus/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ifstatus/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/iftop/Manifest b/net-analyzer/iftop/Manifest new file mode 100644 index 000000000000..6555606518a5 --- /dev/null +++ b/net-analyzer/iftop/Manifest @@ -0,0 +1 @@ +DIST iftop-1.0pre4.tar.gz 204665 BLAKE2B 181385c3fbf43abd4ead975aac11b5ff196de94d9a8d6f195b3f0068aba6ae953067995d19f0175b49ab15c447c99d531542ae786603ee390e080e79bdcd7ae3 SHA512 abd74e8025bb82fef9ebab4997b1d018201a523d47c0128128ca37797490046538d74758dc4471735c22b890e5bd238ad6b2a30776d465138ede367cdd263d22 diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-Makefile.am.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-Makefile.am.patch new file mode 100644 index 000000000000..0b1308ab36c5 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-Makefile.am.patch @@ -0,0 +1,11 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -25,7 +25,7 @@ iftop_SOURCES = addr_hash.c edline.c hash.c iftop.c ns_hash.c \ + # addrs_ioctl.c addrs_dlpi.c dlcommon.c \ + # stringmap.c cfgfile.c + +- ++iftop_LDADD = $(ncurses_LIBS) + + noinst_HEADERS = addr_hash.h ether.h ethertype.h extract.h hash.h iftop.h \ + integers.h ip.h llc.h ns_hash.h options.h resolver.h \ diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-allow-scales-beyond-1gbps.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-allow-scales-beyond-1gbps.patch new file mode 100644 index 000000000000..9c9892147df5 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-allow-scales-beyond-1gbps.patch @@ -0,0 +1,43 @@ +https://code.blinkace.com/pdw/iftop/-/commit/77901c8c53e01359d83b8090aacfe62214658183 +https://bugs.gentoo.org/857837 + +From: Paul Warren <pdw@ex-parrot.com> +Date: Wed, 3 Oct 2018 18:02:36 +0100 +Subject: [PATCH] Support scales beyond 1Gbps +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Guido Jäkel <Guido.Jaekel@GMX.DE> +--- a/ui.c ++++ b/ui.c +@@ -71,7 +71,7 @@ int dontshowdisplay = 0; + + /* Barchart scales. */ + static struct { +- int max, interval; ++ long max; int interval; + } scale[] = { + { 64000, 10 }, /* 64 kbit/s */ + { 128000, 10 }, +@@ -79,7 +79,9 @@ static struct { + { 1000000, 10 }, /* 1 Mbit/s */ + { 10000000, 10 }, + { 100000000, 100 }, +- { 1000000000, 100 } /* 1 Gbit/s */ ++ { 1000000000, 100 }, /* 1 Gbit/s */ ++ {10000000000, 100 }, ++ {100000000000, 100 } + }; + static int rateidx = 0, wantbiggerrate; + +@@ -105,7 +107,7 @@ static float get_max_bandwidth() { + } + + /* rate in bits */ +-static int get_bar_length(const int rate) { ++static int get_bar_length(const long rate) { + float l; + if (rate <= 0) + return 0; +GitLab diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-configure.ac.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-configure.ac.patch new file mode 100644 index 000000000000..ff13fd89fb57 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-configure.ac.patch @@ -0,0 +1,278 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -51,10 +51,10 @@ + forking use the REALLY SUCKY forking resolver. + guess run experiments to guess a + reasonable value. Only works if you +- aren't cross-compiling. This ++ are not cross-compiling. This + is the default. guess will + either select netdb or netdb_1thread. +- none don't do name resolution.], ++ none do not do name resolution.], + [resolver=$withval], + [resolver=guess]) + +@@ -98,45 +98,14 @@ + AC_CHECK_FUNCS(inet_aton inet_pton) + + dnl +-dnl Find integers of known physical size. This is a pain in the arse because +-dnl we can't use AC_CHECK_SIZEOF to find the original variables, since that +-dnl function doesn't permit us to include a header file. Sigh. +-dnl +- +-for type in u_int8_t u_int16_t u_int32_t ; do +- AC_MSG_CHECKING([size of $type]) +- AC_RUN_IFELSE([AC_LANG_SOURCE([ +-#include <sys/types.h> +-#include <stdio.h> +-int main() { +- $type dummy; +- FILE *f=fopen("conftestval", "w"); +- if (!f) exit(1); +- fprintf(f, "%d\n", sizeof($1)); +- exit(0); +-} +- ])], [ +- x=`cat conftestval` +- eval "size_$type=$x" +- AC_MSG_RESULT([$x]) +- ], [ +- eval "size_$type=0" +- AC_MSG_RESULT([unknown type]) +- ], [ +- eval "size_$type=0" +- AC_MSG_RESULT([can't determine when cross-compiling]) +- ]) +-done +- +-dnl Groan. Have to do things this way so that autoheader can do its thing.... +-AC_DEFINE_UNQUOTED(SIZEOF_U_INT8_T, [$size_u_int8_t], [size of u_int8_t]) +-AC_DEFINE_UNQUOTED(SIZEOF_U_INT16_T, [$size_u_int16_t], [size of u_int16_t]) +-AC_DEFINE_UNQUOTED(SIZEOF_U_INT32_T, [$size_u_int32_t], [size of u_int32_t]) ++dnl Find integers of known physical size. ++dnl + +-dnl If we already have these types, don't piss about any more.... ++AC_CHECK_SIZEOF([u_int8_t]) ++AC_CHECK_SIZEOF([u_int16_t]) ++AC_CHECK_SIZEOF([u_int32_t]) + +-if test $size_u_int8_t != 1 || test $size_u_int16_t != 2 || test $size_u_int32_t != 4 ; then +-dnl XXXif test $size_u_int8_t != 1 -o $size_u_int16_t != 2 -o $size_u_int32_t != 4 ; then ++if test $ac_cv_sizeof_u_int8_t = 0 || test $ac_cv_sizeof_u_int16_t = 0 || test $ac_cv_sizeof_u_int32_t = 0; then + do_int_types=1 + AC_CHECK_HEADERS( + stdint.h dnl C99 +@@ -154,12 +123,16 @@ + fi + fi + ++AC_DEFINE_UNQUOTED([SIZEOF_U_INT8_T],[$ac_cv_sizeof_u_int8_t],[size of u_int8_t]) ++AC_DEFINE_UNQUOTED([SIZEOF_U_INT16_T],[$ac_cv_sizeof_u_int16_t],[size of u_int16_t]) ++AC_DEFINE_UNQUOTED([SIZEOF_U_INT32_T],[$ac_cv_sizeof_u_int32_t],[size of u_int32_t]) ++ + dnl + dnl Name resolution. + dnl + dnl This is complicated because we need some sort of reentrant mechanism for + dnl name resolution. Naturally, UNIX vendors have come up with a variety of +-dnl incompatible schemes for this, many of which don't work at all. ++dnl incompatible schemes for this, many of which do not work at all. + dnl + + dnl First, the default resolver, which uses getnameinfo or gethostbyaddr_r. If +@@ -175,7 +148,7 @@ + use_getnameinfo=0 + AC_SEARCH_LIBS(getnameinfo, [nsl], [use_getnameinfo=1]) + +- dnl XXX For the moment, don't use getnameinfo, since it isn't actually ++ dnl XXX For the moment, do not use getnameinfo, since it is not actually + dnl thread safe on, e.g., NetBSD. + use_getnameinfo=0 + +@@ -192,7 +165,7 @@ + dnl Can use gethostbyaddr_r? + AC_SEARCH_LIBS(gethostbyaddr_r, [nsl], , [resolver=guess]) + if test x$resolver = xguess && test x$specified_resolver != xguess ; then +- dnl They wanted gethostbyaddr_r, but they can't have it, so stop. ++ dnl They wanted gethostbyaddr_r, but they cannot have it, so stop. + AC_MSG_ERROR([no library defines gethostbyaddr_r]) + fi + fi +@@ -216,15 +189,15 @@ + AC_DEFINE(GETHOSTBYADDR_R_RETURNS_INT, 1, + [8-argument gethostbyaddr_r returns int])], [ + dnl Neither. +- AC_MSG_RESULT([don't know how]) ++ AC_MSG_RESULT([do not know how]) + resolver=guess])]) + if test x$resolver = xguess && test x$specified_resolver != xguess ; then +- dnl They wanted gethostbyaddr_r, but they can't have it, so stop. ++ dnl They wanted gethostbyaddr_r, but they cannot have it, so stop. + AC_MSG_ERROR([gethostbyaddr_r has no known calling convention]) + fi + fi + +-dnl If we still want to do gethostbyaddr_r, and we aren't ++dnl If we still want to do gethostbyaddr_r, and we are not + dnl cross-compiling, test it. + if test x$resolver = xnetdb ; then + if test x$ghba_args = x8 ; then +@@ -237,13 +210,13 @@ + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + resolver=guess], +- [AC_MSG_RESULT([can't test because we are cross-compiling])]) ++ [AC_MSG_RESULT([cannot test because we are cross-compiling])]) + if test x$resolver = xguess ; then + if test x$specified_resolver = xguess ; then +- AC_MSG_RESULT([gethostbyaddr_r doesn't work, so we'll try something else]) ++ AC_MSG_RESULT([gethostbyaddr_r does not work, so we will try something else]) + else +- dnl They wanted gethostbyaddr_r, but it doesn't work, so stop. +- AC_MSG_ERROR([gethostbyaddr_r doesn't work]) ++ dnl They wanted gethostbyaddr_r, but it does not work, so stop. ++ AC_MSG_ERROR([gethostbyaddr_r does not work]) + fi + fi + fi +@@ -260,11 +233,11 @@ + AC_SEARCH_LIBS(ares_init, [ares], [ + AC_DEFINE(USE_ARES, 1, [use ARES for name resolution]) + ], [ +- dnl They asked for ares, but we can't give it to them, so stop. +- AC_MSG_ERROR([can't find ARES. Re-run configure and ask for a different resolver.])]) ++ dnl They asked for ares, but we cannot give it to them, so stop. ++ AC_MSG_ERROR([cannot find ARES. Re-run configure and ask for a different resolver.])]) + fi + +-dnl Last thing to try if we haven't decided yet is netdb_1thread. ++dnl Last thing to try if we have not decided yet is netdb_1thread. + if test x$resolver = xguess ; then + resolver=netdb_1thread + fi +@@ -317,16 +290,16 @@ + + if test $foundpcaph = 0 ; then + AC_MSG_RESULT([no idea]) +- AC_MSG_ERROR([can't find pcap.h +- You're not going to get very far without libpcap.]) ++ AC_MSG_ERROR([cannot find pcap.h ++ You are not going to get very far without libpcap.]) + else + dnl assume that -lpcap is under $test_prefix/lib + if test x$test_prefix != x ; then + LDFLAGS="$LDFLAGS -L$test_prefix/lib" + fi + AC_CHECK_LIB(pcap, pcap_open_live, , [ +- AC_MSG_ERROR([can't find libpcap +- You're not going to get very far without libpcap.]) ++ AC_MSG_ERROR([cannot find libpcap ++ You are not going to get very far without libpcap.]) + ]) + fi + +@@ -337,79 +310,50 @@ + ]) + + if test $foundpcap = 0 ; then +- AC_MSG_ERROR([can't find pcap.h +- You're not going to get very far without libpcap.]) ++ AC_MSG_ERROR([cannot find pcap.h ++ You are not going to get very far without libpcap.]) + fi + + dnl + dnl Curses. Really, we need ncurses or something similarly advanced, since + dnl we use the (apparently obscure) mvchgat function. Unfortunately, there's +-dnl a solid chance that mvchgat is a macro, so we can't just use ++dnl a solid chance that mvchgat is a macro, so we cannot just use + dnl AC_SEARCH_LIBS.... + dnl + +-AC_MSG_CHECKING([for a curses library containing mvchgat]) +-oldLIBS=$LIBS +-for curseslib in ncursesw curses ncurses ; do +- LIBS="$oldLIBS -l$curseslib" +- AC_TRY_LINK([ ++PKG_PROG_PKG_CONFIG() ++ ++PKG_CHECK_MODULES([ncurses], [ncursesw], [foundcurseslib="$ncurses_LIBS"], [ ++ PKG_CHECK_MODULES([ncurses], [ncurses], [foundcurseslib="$ncurses_LIBS"], [ ++ AC_MSG_CHECKING([for a curses library containing mvchgat]) ++ oldLIBS=$LIBS ++ for curseslib in ncursesw curses ncurses ; do ++ LIBS="$oldLIBS -l$curseslib" ++ AC_TRY_LINK([ + #include <$curseslib.h> + ], [ + mvchgat(0, 0, 1, A_REVERSE, 0, NULL) + ], [ +- foundcurseslib=$curseslib ++ foundcurseslib=-l$curseslib + break + ]) +-done +- +-if test x$foundcurseslib = x ; then +- AC_MSG_RESULT([none found]) ++ done ++ ], + AC_MSG_ERROR([Curses! Foiled again! +- (Can't find a curses library supporting mvchgat.) ++ (Cannot find a curses library supporting mvchgat.) + Consider installing ncurses.]) +-else +- AC_MSG_RESULT([-l$foundcurseslib]) +-fi +- ++ ) ++]) + + dnl + dnl POSIX threads. Different systems like different combinations of flags, + dnl libraries, etc. We use a test program to figure this stuff out. + dnl + +-AC_MSG_CHECKING([POSIX threads compilation]) +-thrfail=1 +-oldCFLAGS=$CFLAGS +-oldLIBS=$LIBS +-for flag in "" -mt -pthread -thread ; do +- CFLAGS="$oldCFLAGS $flag" +- for lib in "" -lpthread "-lpthread -lposix4" ; do +- LIBS="$oldLIBS $lib" +- AC_LINK_IFELSE([AC_LANG_SOURCE([`cat config/pthread.c`])], [ +- foundthrlib=$lib +- foundthrflag=$flag +- thrfail=0 +- break +- ]) +- done +- if test $thrfail = 0 ; then +- break +- fi +-done +- +-if test $thrfail = 1 ; then +- AC_MSG_RESULT([no idea]) +- AC_MSG_ERROR([can't figure out how to compile with POSIX threads +- If your system actually supports POSIX threads, this means we've messed up.]) +-fi +- +-AC_MSG_RESULT([CFLAGS=$foundthrflag and LIBS=$foundthrlib]) +-AC_MSG_CHECKING([POSIX threads usability]) +-AC_RUN_IFELSE([AC_LANG_SOURCE([`cat config/pthread.c`])], +- [AC_MSG_RESULT([yes])], +- [AC_MSG_ERROR( +- [it fails. We probably guessed the wrong CFLAGS.])], +- [AC_MSG_RESULT([can't test because we are cross-compiling])]) ++AX_PTHREAD( ++ [LIBS="$PTHREAD_LIBS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"], ++ AC_MSG_ERROR([Could not find out how to enable POSIX threads])) + + dnl + dnl Are we on a system (like Solaris) that requires promiscuous mode in order to diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-fix-MAC-formatting.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-fix-MAC-formatting.patch new file mode 100644 index 000000000000..d68a8095dce7 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-fix-MAC-formatting.patch @@ -0,0 +1,22 @@ +From: Xiaoguang Sun <sun.xiaoguang@yoyosys.com> +Date: Tue, 11 Mar 2014 13:18:46 +0100 +Subject: MAC address format + +Forwarded: http://lists.beasts.org/pipermail/iftop-users/2014-March/000413.html +--- + iftop.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/iftop.c b/iftop.c +index a090dcf..883782e 100644 +--- a/iftop.c ++++ b/iftop.c +@@ -713,7 +713,7 @@ void packet_init() { + if(have_hw_addr) { + fprintf(stderr, "MAC address is:"); + for (i = 0; i < 6; ++i) +- fprintf(stderr, "%c%02x", i ? ':' : ' ', (unsigned int)if_hw_addr[i]); ++ fprintf(stderr, "%c%02x", i ? ':' : ' ', (unsigned char)if_hw_addr[i]); + fprintf(stderr, "\n"); + } + diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-fix_c23.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-fix_c23.patch new file mode 100644 index 000000000000..464f0c3c275f --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-fix_c23.patch @@ -0,0 +1,13 @@ +fix c23 unprototyped function, patch from upstream +https://code.blinkace.com/pdw/iftop/-/commit/67b685c8442528bb30485f6efa212f599ef19baf.patch +--- a/cfgfile.h ++++ b/cfgfile.h +@@ -13,7 +13,7 @@ typedef struct { + int value; + } config_enumeration_type; + +-int read_config(); ++int read_config(char *file, int whinge_on_error); + + char *config_get_string(const char *directive); + int config_get_bool(const char *directive); diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-fno-common.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-fno-common.patch new file mode 100644 index 000000000000..13e0f1058f40 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-fno-common.patch @@ -0,0 +1,56 @@ +--- a/ui_common.c ++++ b/ui_common.c +@@ -28,6 +28,13 @@ + extern int history_pos; + extern int history_len; + ++sorted_list_type screen_list; ++host_pair_line totals; ++int peaksent, peakrecv, peaktotal; ++history_type history_totals; ++hash_type* screen_hash; ++hash_type* service_hash; ++ + /* + * Compare two screen lines based on bandwidth. Start comparing from the + * specified column +--- a/ui_common.h ++++ b/ui_common.h +@@ -33,12 +33,12 @@ + + extern options_t options; + +-sorted_list_type screen_list; +-host_pair_line totals; +-int peaksent, peakrecv, peaktotal; ++extern sorted_list_type screen_list; ++extern host_pair_line totals; ++extern int peaksent, peakrecv, peaktotal; + extern history_type history_totals; +-hash_type* screen_hash; +-hash_type* service_hash; ++extern hash_type* screen_hash; ++extern hash_type* service_hash; + + void analyse_data(void); + void screen_list_init(void); +--- a/ui.c ++++ b/ui.c +@@ -253,7 +253,6 @@ + } + } + +-extern history_type history_totals; + + + void ui_print() { +--- a/iftop.c ++++ b/iftop.c +@@ -66,7 +66,6 @@ + extern options_t options; + + hash_type* history; +-history_type history_totals; + time_t last_timestamp; + time_t first_timestamp; + int history_pos = 0; diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-ip6.arpa.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-ip6.arpa.patch new file mode 100644 index 000000000000..706db4546db9 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-ip6.arpa.patch @@ -0,0 +1,48 @@ +From 35af3cf65f17961d173b31fd3b00166ec095c226 Mon Sep 17 00:00:00 2001 +From: Paul Warren <pdw@mythic-beasts.com> +Date: Mon, 6 Feb 2017 21:35:37 +0000 +Subject: [PATCH] Fix bug with DNS resolution. https://bugzilla.redhat.com/show_bug.cgi?id=1120254 + +--- + resolver.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/resolver.c b/resolver.c +index adddbc1..a3123bd 100644 +--- a/resolver.c ++++ b/resolver.c +@@ -438,11 +438,11 @@ void resolver_worker(void* ptr) { + char **ch_pp; + void **void_pp; + } u_old = { &old }; +- if(hash_find(ns_hash, &addr, u_old.void_pp) == HASH_STATUS_OK) { ++ if(hash_find(ns_hash, &addr.as_addr6, u_old.void_pp) == HASH_STATUS_OK) { + hash_delete(ns_hash, &addr); + xfree(old); + } +- hash_insert(ns_hash, &addr, (void*)hostname); ++ hash_insert(ns_hash, &addr.as_addr6, (void*)hostname); + } + + } +@@ -488,7 +488,7 @@ void resolve(int af, void* addr, char* result, int buflen) { + + pthread_mutex_lock(&resolver_queue_mutex); + +- if(hash_find(ns_hash, raddr, u_hostname.void_pp) == HASH_STATUS_OK) { ++ if(hash_find(ns_hash, &raddr->as_addr6, u_hostname.void_pp) == HASH_STATUS_OK) { + /* Found => already resolved, or on the queue, no need to keep + * it around */ + free(raddr); +@@ -497,7 +497,7 @@ void resolve(int af, void* addr, char* result, int buflen) { + hostname = xmalloc(INET6_ADDRSTRLEN); + inet_ntop(af, &raddr->addr, hostname, INET6_ADDRSTRLEN); + +- hash_insert(ns_hash, raddr, hostname); ++ hash_insert(ns_hash, &raddr->as_addr6, hostname); + + if(((head + 1) % RESOLVE_QUEUE_LENGTH) == tail) { + /* queue full */ +-- +libgit2 0.26.0 + diff --git a/net-analyzer/iftop/files/iftop-1.0_pre4-tsent-set-but-not-used.patch b/net-analyzer/iftop/files/iftop-1.0_pre4-tsent-set-but-not-used.patch new file mode 100644 index 000000000000..5e12b341fe97 --- /dev/null +++ b/net-analyzer/iftop/files/iftop-1.0_pre4-tsent-set-but-not-used.patch @@ -0,0 +1,12 @@ +--- a/ui_common.c ++++ b/ui_common.c +@@ -263,9 +263,6 @@ + } u_screen_line = { &screen_line }; + addr_pair ap; + int i; +- int tsent, trecv; +- tsent = trecv = 0; +- + + ap = *(addr_pair*)n->key; + diff --git a/net-analyzer/iftop/files/iftoprc b/net-analyzer/iftop/files/iftoprc new file mode 100644 index 000000000000..83b136952734 --- /dev/null +++ b/net-analyzer/iftop/files/iftoprc @@ -0,0 +1,59 @@ + +# Sets the network interface to if. +# interface: if +interface: ppp0 + +# Controls reverse lookup of IP addresses. +# dns-resolution: (yes|no) +dns-resolution: yes + +# Controls conversion of port numbers to service names. +# port-resolution: (yes|no) +port-resolution: yes + +# Sets the filter code to bpf. +# filter-code: bpf + +# Controls display of bar graphs. +# show-bars: (yes|no) +show-bars: yes + +# Puts the interface into promiscuous mode. +# promiscuous: (yes|no) + +# Controls display of port numbers. +# port-display: (off|source-only|destination-only|on) +port-display: on + +# Hides source host names. +# hide-source: (yes|no) + +# Hides destination host names. +# hide-destination: (yes|no) + +# Use bytes for bandwidth display, rather than bits. +# use-bytes: (yes|no) +use-bytes: yes + +# Sets which column is used to sort the display. +# sort: (2s|10s|40s|source|destination) + +# Controls the appearance of each item in the display. +# line-display: (two-line|one-line-both|one-line-sent|one-line-received) + +# Shows cummulative total for each item. +# show-totals: (yes|no) +show-totals: yes + +# Use a logarithmic scale for bar graphs. +# log-scale: (yes|no) + +# Fixes the maximum for the bar graph scale to bw, e.g. "10M" +# max-bandwidth: bw + +# Defines an IP network boundary for determining packet direction. +# net-filter: net/mask + +# Sets a regular expression to filter screen output. +# screen-filter: regexp + diff --git a/net-analyzer/iftop/iftop-1.0_pre4-r5.ebuild b/net-analyzer/iftop/iftop-1.0_pre4-r5.ebuild new file mode 100644 index 000000000000..b82f4f787b4c --- /dev/null +++ b/net-analyzer/iftop/iftop-1.0_pre4-r5.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Display bandwidth usage on an interface" +HOMEPAGE="https://pdw.ex-parrot.com/iftop/ https://code.blinkace.com/pdw/iftop" +SRC_URI="https://pdw.ex-parrot.com/iftop/download/${P/_/}.tar.gz" +S="${WORKDIR}"/${P/_/} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ~ppc64 ~riscv ~sparc x86" + +RDEPEND=" + net-libs/libpcap + sys-libs/ncurses:= +" +DEPEND="${RDEPEND}" +# autoconf-archive for ax_pthread, bug #490168 +BDEPEND=" + dev-build/autoconf-archive + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0_pre4-configure.ac.patch + "${FILESDIR}"/${PN}-1.0_pre4-Makefile.am.patch + "${FILESDIR}"/${PN}-1.0_pre4-tsent-set-but-not-used.patch + "${FILESDIR}"/${PN}-1.0_pre4-ip6.arpa.patch + "${FILESDIR}"/${PN}-1.0_pre4-fix-MAC-formatting.patch + "${FILESDIR}"/${PN}-1.0_pre4-fno-common.patch + "${FILESDIR}"/${PN}-1.0_pre4-allow-scales-beyond-1gbps.patch + "${FILESDIR}"/${PN}-1.0_pre4-fix_c23.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_install() { + dosbin iftop + doman iftop.8 + + dodoc AUTHORS ChangeLog README "${FILESDIR}"/iftoprc +} diff --git a/net-analyzer/iftop/metadata.xml b/net-analyzer/iftop/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/iftop/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ike-scan/Manifest b/net-analyzer/ike-scan/Manifest new file mode 100644 index 000000000000..992eb7171b88 --- /dev/null +++ b/net-analyzer/ike-scan/Manifest @@ -0,0 +1 @@ +DIST ike-scan-1.9.5.tar.gz 1542264 BLAKE2B 3095c2929c7f24da43852402a3e5cfe73dd65100773283ef08b791784be2e2f04bba24843469e407695a027e76e1e0aa18effabc210643414677a35df7f2614c SHA512 5eb98e41c639bc30996041f4e759a6ada7f4baa5b8102992ac2313ed8ff51032d877b116bc24972e0ecd652290849aa67a63523d92ee63af6577112350ee5590 diff --git a/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch b/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch new file mode 100644 index 000000000000..31ab6da26398 --- /dev/null +++ b/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch @@ -0,0 +1,74 @@ +https://github.com/royhills/ike-scan/pull/39 + +Before: +``` +checking whether clang accepts -fstack-protector... yes +checking whether clang accepts -D_FORTIFY_SOURCE... yes +checking whether clang accepts -Wformat-security... no +``` + +After: +``` +checking whether clang accepts -fstack-protector... yes +checking whether clang accepts -Wformat-security... yes +checking whether clang accepts -D_FORTIFY_SOURCE... yes +``` + +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -144,7 +144,7 @@ + return 0; + return 1; + } +-main() { ++int main() { + return ! does_int64_work(); + }], + [Ac_cachevar=yes], +@@ -180,6 +180,7 @@ + AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format, + [for pgac_format in '%lld' '%qd' '%I64d'; do + AC_TRY_RUN([#include <stdio.h> ++#include <string.h> + typedef long long int int64; + #define INT64_FORMAT "$pgac_format" + +@@ -200,7 +201,7 @@ + return 0; /* either multiply or snprintf is busted */ + return 1; + } +-main() { ++int main() { + return ! does_int64_snprintf_work(); + }], + [pgac_cv_snprintf_long_long_int_format=$pgac_format; break], +@@ -278,7 +279,7 @@ + dnl is not present on all the operating systems that we support, e.g. OpenBSD. + dnl + AC_DEFUN([GCC_FORTIFY_SOURCE],[ +- if test "x$CC" != "X"; then ++ if test "X$CC" != "X"; then + AC_MSG_CHECKING([whether ${CC} accepts -D_FORTIFY_SOURCE]) + AC_TRY_COMPILE(,[ + #define GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +@@ -311,7 +312,7 @@ + dnl warnings. + dnl + AC_DEFUN([GCC_FORMAT_SECURITY],[ +- if test "x$CC" != "X"; then ++ if test "X$CC" != "X"; then + AC_MSG_CHECKING([whether ${CC} accepts -Wformat-security]) + wfs_old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wall -Werror -Wformat -Wformat-security" +--- a/configure.ac ++++ b/configure.ac +@@ -34,8 +34,8 @@ + CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings" + GCC_WEXTRA + GCC_STACK_PROTECT_CC +- GCC_FORTIFY_SOURCE + GCC_FORMAT_SECURITY ++ GCC_FORTIFY_SOURCE + dnl Uncomment the lines below for testing with stricter warnings. + dnl CFLAGS="$CFLAGS -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline " + dnl Uncomment the line below to check malloc/free with electric fence diff --git a/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch b/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch new file mode 100644 index 000000000000..84dbde003397 --- /dev/null +++ b/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch @@ -0,0 +1,14 @@ +Minor variations in getopt() output causing musl test failures. +https://bugs.gentoo.org/836575 + +--- a/check-error ++++ b/check-error +@@ -119,7 +119,7 @@ + echo "FAILED" + exit 1 + fi +-grep 'ike-scan: unrecognized option ' $TMPFILE >/dev/null ++grep 'ike-scan: unrecognized option' $TMPFILE >/dev/null + if test $? -ne 0; then + rm -f $TMPFILE + echo "FAILED" diff --git a/net-analyzer/ike-scan/files/ike-scan-1.9.5-openssl-libdir.patch b/net-analyzer/ike-scan/files/ike-scan-1.9.5-openssl-libdir.patch new file mode 100644 index 000000000000..0ee12dc2f907 --- /dev/null +++ b/net-analyzer/ike-scan/files/ike-scan-1.9.5-openssl-libdir.patch @@ -0,0 +1,55 @@ +TODO: switch to pkgconfig +--- a/configure.ac ++++ b/configure.ac +@@ -187,49 +187,9 @@ AC_ARG_WITH(openssl, + [ + if test "x$withval" != "xno" ; then + AC_MSG_RESULT(yes) +- for ssldir in $withval /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr; do +- if test -f "${ssldir}/include/openssl/ssl.h"; then +- found_openssl="yes" +- openssl_header_dir="${ssldir}/include" +- AC_MSG_NOTICE([Found ${ssldir}/include/openssl/ssl.h]) +- break +- fi +- if test -f "${ssldir}/openssl/ssl.h"; then +- found_openssl="yes" +- openssl_header_dir="${ssldir}" +- AC_MSG_NOTICE([Found ${ssldir}/openssl/ssl.h]) +- break +- fi +- done +- if test x$found_openssl != xyes; then +- AC_MSG_ERROR([Cannot find OpenSSL header files]) +- else +- AC_MSG_NOTICE([OpenSSL header files found in $openssl_header_dir]) +- CPPFLAGS="-I${openssl_header_dir} ${CPPFLAGS}" +- fi +- if test -f "${ssldir}/lib/libcrypto.so"; then +- openssl_lib_dir="${ssldir}/lib" +- AC_MSG_NOTICE([Found ${ssldir}/lib/libcrypto.so]) +- elif test -f "${ssldir}/libcrypto.so"; then +- openssl_lib_dir="${ssldir}" +- AC_MSG_NOTICE([Found ${ssldir}/libcrypto.so]) +- elif test -f "${ssldir}/lib/libcrypto.dylib"; then +- openssl_lib_dir="${ssldir}/lib" +- AC_MSG_NOTICE([Found ${ssldir}/lib/libcrypto.dylib]) +- elif test -f "${ssldir}/libcrypto.dylib"; then +- openssl_lib_dir="${ssldir}" +- AC_MSG_NOTICE([Found ${ssldir}/libcrypto.dylib]) +- elif test -f "${ssldir}/lib/libcrypto.a"; then +- openssl_lib_dir="${ssldir}/lib" +- AC_MSG_NOTICE([Found ${ssldir}/lib/libcrypto.a]) +- elif test -f "${ssldir}/libcrypto.a"; then +- openssl_lib_dir="${ssldir}" +- AC_MSG_NOTICE([Found ${ssldir}/libcrypto.a]) +- else +- openssl_lib_dir="${ssldir}/lib" +- AC_MSG_NOTICE([Cannot find libcrypto under $ssldir - assuming its in the standard search path]) +- fi + AC_MSG_NOTICE([OpenSSL libraries found in $openssl_lib_dir]) ++ openssl_header_dir="${withval}/include/openssl" ++ CPPFLAGS="${CPPFLAGS} -I${openssl_header_dir}" + LDFLAGS="-L${openssl_lib_dir} ${LDFLAGS}" + LIBS="-lcrypto ${LIBS}" + diff --git a/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild b/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild new file mode 100644 index 000000000000..53ff3d12d350 --- /dev/null +++ b/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A utility for finding, fingerprinting and testing IKE VPN servers" +HOMEPAGE="https://github.com/royhills/ike-scan" +SRC_URI="https://github.com/royhills/ike-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="ssl" + +DEPEND="ssl? ( dev-libs/openssl:= )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.5-clang-16.patch + "${FILESDIR}"/${PN}-1.9.5-openssl-libdir.patch + "${FILESDIR}"/${PN}-1.9.5-musl-getopt.patch +) + +src_prepare() { + default + + # Fix buffer overflow, bug #277556 + sed \ + -e "/MAXLINE/s:255:511:g" \ + -i ike-scan.h || die + + eautoreconf +} + +src_configure() { + econf \ + $(use_with ssl openssl "${ESYSROOT}"/usr) + + # bug 945318, remove bundled "getopt.h" + rm getopt.h || die +} + +src_install() { + default + dodoc udp-backoff-fingerprinting-paper.txt +} diff --git a/net-analyzer/ike-scan/metadata.xml b/net-analyzer/ike-scan/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ike-scan/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipaudit/Manifest b/net-analyzer/ipaudit/Manifest new file mode 100644 index 000000000000..403c37514f35 --- /dev/null +++ b/net-analyzer/ipaudit/Manifest @@ -0,0 +1 @@ +DIST ipaudit-1.1.tar.gz 170253 BLAKE2B 6515cab817a35835d5c3eb33dc4d8c9f28a1ceb906854e55c3695fc6ee5d230ad2ae6a6fd59849623e161fe4deb5013f55bdf6effcaaf6ca4d064ded73c148f0 SHA512 5eb1971b454c8c96c02dc260e537a9a627554b7c9d1e269be9de2ffdb5cbfed00272b643de7b15865659cef0db482e4c460f96b1545bcd6c4f208c96d7401ef9 diff --git a/net-analyzer/ipaudit/ipaudit-1.1.ebuild b/net-analyzer/ipaudit/ipaudit-1.1.ebuild new file mode 100644 index 000000000000..af6d0d9db21d --- /dev/null +++ b/net-analyzer/ipaudit/ipaudit-1.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="IPAudit monitors network activity on a network by host, protocol and port" +HOMEPAGE="https://ipaudit.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="mysql" + +RDEPEND=" + net-libs/libpcap + virtual/zlib:= + mysql? ( dev-db/mysql-connector-c:= )" +DEPEND="${RDEPEND}" + +src_configure() { + econf $(use_with mysql) +} diff --git a/net-analyzer/ipaudit/metadata.xml b/net-analyzer/ipaudit/metadata.xml new file mode 100644 index 000000000000..8772a74e80f9 --- /dev/null +++ b/net-analyzer/ipaudit/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipband/Manifest b/net-analyzer/ipband/Manifest new file mode 100644 index 000000000000..cb7dc8dcee36 --- /dev/null +++ b/net-analyzer/ipband/Manifest @@ -0,0 +1 @@ +DIST ipband-0.8.1.tgz 36675 BLAKE2B ab0bab6a455fd7fc8193be8b94d7de6c8a781cf3ad7b3a79866deb5fddff834dd5e752163e55007d34c0852fc8ba7ff5b20095b9d5d62bb0db7ca62c72c83b72 SHA512 66347652fee7c7426620260ae615de2f4cfeedacac21d606643e4ae8da204cc81780bfd3f4062a16a9172a78a4a7799fc97e0141750ed26b0e21c8ac2eab3c4f diff --git a/net-analyzer/ipband/files/ipband-0.8.1-fno-common.patch b/net-analyzer/ipband/files/ipband-0.8.1-fno-common.patch new file mode 100644 index 000000000000..4a5fe78fcc49 --- /dev/null +++ b/net-analyzer/ipband/files/ipband-0.8.1-fno-common.patch @@ -0,0 +1,113 @@ +--- a/ipband.h ++++ b/ipband.h +@@ -174,40 +174,40 @@ + extern char pcap_version[]; + + /* Internal use */ +-int isig_m; /* Interupt flag for capture loop */ +-int preload_m; /* Subnets are preloaded flag */ +-char *pcapdev_m; /* Device to listen to */ +-pcap_t *pcapfile_m; /* Pcap input file descriptor */ +-int pcapoffset_m; /* IP header offset */ +-time_t started_m; /* Time when we started */ ++extern int isig_m; /* Interupt flag for capture loop */ ++extern int preload_m; /* Subnets are preloaded flag */ ++extern char *pcapdev_m; /* Device to listen to */ ++extern pcap_t *pcapfile_m; /* Pcap input file descriptor */ ++extern int pcapoffset_m; /* IP header offset */ ++extern time_t started_m; /* Time when we started */ + +-ll_srvc_t *ll_tcp_cache; /* Resolved tcp services cache */ +-ll_srvc_t *ll_udp_cache; /* Resolved udp services cache */ ++extern ll_srvc_t *ll_tcp_cache; /* Resolved tcp services cache */ ++extern ll_srvc_t *ll_udp_cache; /* Resolved udp services cache */ + + + /* Variables holding option values */ +-int debug_m; /* Debug option */ +-int do_html; /* Generate HTML output */ +-char *filtercmd_m; /* Pcap filter string */ +-char *repfname_m; /* Subnet report output file */ +-char *htmlfname_m; /* HTML report output file */ +-char *htmltitle_m; /* HTML Title */ +-int mask_m; /* Network aggregation mask bits */ +-int cycle_m; /* Number of sec to average data */ +-int rcycle_m; /* How long in sec bandwidth +- threshold may be exceeded */ +-float thresh_m; /* Bandwidth threshold in kBps */ +-int fork_m; /* Fork flag */ +-int top_m; /* No of top connections in report */ +-char *config_m; /* Config file name */ +-char *mailto_m; /* E-mail address for reporting */ +-char *mailfoot_m; /* Footer file for e-mail report */ +-char *mtastring_m; /* MTA command string */ +-int report_aggr_m; /* Flag to report aggr exceed time */ +-int promisc_m; /* Use promiscious mode? */ +-int *iplist_m; /* List of local networks */ +-int niplist_m; /* Number of local networks */ +-int lenadj_m; /* IP packet length adjustment in bytes */ ++extern int debug_m; /* Debug option */ ++extern int do_html; /* Generate HTML output */ ++extern char *filtercmd_m; /* Pcap filter string */ ++extern char *repfname_m; /* Subnet report output file */ ++extern char *htmlfname_m; /* HTML report output file */ ++extern char *htmltitle_m; /* HTML Title */ ++extern int mask_m; /* Network aggregation mask bits */ ++extern int cycle_m; /* Number of sec to average data */ ++extern int rcycle_m; /* How long in sec bandwidth ++ threshold may be exceeded */ ++extern float thresh_m; /* Bandwidth threshold in kBps */ ++extern int fork_m; /* Fork flag */ ++extern int top_m; /* No of top connections in report */ ++extern char *config_m; /* Config file name */ ++extern char *mailto_m; /* E-mail address for reporting */ ++extern char *mailfoot_m; /* Footer file for e-mail report */ ++extern char *mtastring_m; /* MTA command string */ ++extern int report_aggr_m; /* Flag to report aggr exceed time */ ++extern int promisc_m; /* Use promiscious mode? */ ++extern int *iplist_m; /* List of local networks */ ++extern int niplist_m; /* Number of local networks */ ++extern int lenadj_m; /* IP packet length adjustment in bytes */ + + + /* +--- a/main.c ++++ b/main.c +@@ -26,6 +26,37 @@ + + #include "ipband.h" + ++/* Internal use */ ++int isig_m; /* Interupt flag for capture loop */ ++int preload_m; /* Subnets are preloaded flag */ ++char *pcapdev_m; /* Device to listen to */ ++pcap_t *pcapfile_m; /* Pcap input file descriptor */ ++int pcapoffset_m; /* IP header offset */ ++time_t started_m; /* Time when we started */ ++ ++/* Variables holding option values */ ++int debug_m; /* Debug option */ ++int do_html; /* Generate HTML output */ ++char *filtercmd_m; /* Pcap filter string */ ++char *repfname_m; /* Subnet report output file */ ++char *htmlfname_m; /* HTML report output file */ ++char *htmltitle_m; /* HTML Title */ ++int mask_m; /* Network aggregation mask bits */ ++int cycle_m; /* Number of sec to average data */ ++int rcycle_m; /* How long in sec bandwidth ++ threshold may be exceeded */ ++float thresh_m; /* Bandwidth threshold in kBps */ ++int fork_m; /* Fork flag */ ++int top_m; /* No of top connections in report */ ++char *config_m; /* Config file name */ ++char *mailto_m; /* E-mail address for reporting */ ++char *mailfoot_m; /* Footer file for e-mail report */ ++char *mtastring_m; /* MTA command string */ ++int report_aggr_m; /* Flag to report aggr exceed time */ ++int promisc_m; /* Use promiscious mode? */ ++int *iplist_m; /* List of local networks */ ++int niplist_m; /* Number of local networks */ ++int lenadj_m; /* IP packet length adjustment in bytes */ + + /* Initialize here and not in set_defaults() in case the latter called + _after_ the structures are created */ diff --git a/net-analyzer/ipband/files/ipband-0.8.1-gentoo.patch b/net-analyzer/ipband/files/ipband-0.8.1-gentoo.patch new file mode 100644 index 000000000000..e3929da8cfb4 --- /dev/null +++ b/net-analyzer/ipband/files/ipband-0.8.1-gentoo.patch @@ -0,0 +1,20 @@ +--- a/Makefile ++++ b/Makefile +@@ -12,7 +12,6 @@ + CPPFLAGS=-I/usr/include/pcap + LIBS=-lpcap + CFLAGS := -Wall $(CFLAGS) +-CC=gcc + + ifndef PREFIX + PREFIX=/usr +@@ -49,8 +48,7 @@ + all: $(BIN) + + $(BIN): $(OBJ_C) +- $(CC) -o $(BIN) $(OBJ_C) $(LIBS) $(CFLAGS) +- strip $(BIN) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(OBJ_C) $(LIBS) + + install-strip: install + diff --git a/net-analyzer/ipband/files/ipband-0.8.1-postfix.patch b/net-analyzer/ipband/files/ipband-0.8.1-postfix.patch new file mode 100644 index 000000000000..9db8313afb30 --- /dev/null +++ b/net-analyzer/ipband/files/ipband-0.8.1-postfix.patch @@ -0,0 +1,13 @@ +--- a/ipband.sample.conf ++++ b/ipband.sample.conf +@@ -61,7 +61,10 @@ + # MTA string. Default is "/usr/sbin/sendmail -t -ba". Change it to + # whatever runs MTA of your choice. Note that the stringis tokenized and + # passed to exec(), so that shell's metacharacters are not interpreted. ++# Sendmail + #mtastring "/usr/sbin/sendmail -t -ba" ++# Postfix ++#mtastring "/usr/sbin/sendmail -t" + + # Default number of subnet mask bits. + #maskbits 24 diff --git a/net-analyzer/ipband/files/ipband-init b/net-analyzer/ipband/files/ipband-init new file mode 100644 index 000000000000..aa3474129eb5 --- /dev/null +++ b/net-analyzer/ipband/files/ipband-init @@ -0,0 +1,24 @@ +#!/sbin/openrc-run +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + ebegin "Starting ipband" + start-stop-daemon --start --exec /usr/bin/ipband -- -F > /dev/null + if [ $? -ne 0 ]; then + ewarn "Check settings in /etc/ipband.conf" + eend 1 + else + eend 0 + fi +} + +stop() { + ebegin "Stopping ipband" + start-stop-daemon --stop --exec /usr/bin/ipband + eend $? +} diff --git a/net-analyzer/ipband/ipband-0.8.1-r2.ebuild b/net-analyzer/ipband/ipband-0.8.1-r2.ebuild new file mode 100644 index 000000000000..009254fd9076 --- /dev/null +++ b/net-analyzer/ipband/ipband-0.8.1-r2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Pcap based IP traffic and bandwidth monitor" +HOMEPAGE="https://ipband.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 x86" + +DEPEND=" + >=net-libs/libpcap-0.4 +" +RDEPEND=" + ${DEPEND} +" +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-postfix.patch + "${FILESDIR}"/${P}-fno-common.patch +) + +src_configure() { + tc-export CC + default +} + +src_install() { + dobin ipband + doman ipband.8 + dodoc CHANGELOG README + + newinitd "${FILESDIR}"/ipband-init ipband + + insinto /etc/ + newins ipband.sample.conf ipband.conf +} diff --git a/net-analyzer/ipband/metadata.xml b/net-analyzer/ipband/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ipband/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipgen/ipgen-9999.ebuild b/net-analyzer/ipgen/ipgen-9999.ebuild new file mode 100644 index 000000000000..da5631d5332b --- /dev/null +++ b/net-analyzer/ipgen/ipgen-9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools git-r3 + +DESCRIPTION="Generate list of IP addresses from a network specification" +HOMEPAGE="https://github.com/royhills/ipgen" +EGIT_REPO_URI="https://github.com/royhills/ipgen" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="" + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/ipgen/metadata.xml b/net-analyzer/ipgen/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ipgen/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipguard/Manifest b/net-analyzer/ipguard/Manifest new file mode 100644 index 000000000000..6585adfd1f2d --- /dev/null +++ b/net-analyzer/ipguard/Manifest @@ -0,0 +1 @@ +DIST ipguard-1.04.tar.gz 24566 BLAKE2B c9d543e6f7886c3b6377fbfe95e91e2d786da6a92fe445c9500c8b7ea6fb859bf8550daf9c83de425494376d0ed7197158e5ff9499a97417793b439e82004326 SHA512 c29c3f594e09ad1c06ca7297f794ddfada48da7ec2b98786694cd6af7508cbff232889e0c90718d96519297870b93132b7b0f9f310a0e4d7a7c2d54a30ca893c diff --git a/net-analyzer/ipguard/files/ipguard-1.04-fno-common.patch b/net-analyzer/ipguard/files/ipguard-1.04-fno-common.patch new file mode 100644 index 000000000000..414a91ec09a0 --- /dev/null +++ b/net-analyzer/ipguard/files/ipguard-1.04-fno-common.patch @@ -0,0 +1,98 @@ +--- a/ipguard.c ++++ b/ipguard.c +@@ -29,6 +29,34 @@ + + #include "ipguard.h" + ++char iface[IFNAMSIZ]; ++char ethers_name[PATH_MAX]; ++char log_name[PATH_MAX]; ++char pid_name[PATH_MAX]; ++char fmac[18]; ++char pcapf[PCAPFSIZ]; ++char suser[MAXLOGNAME]; ++int ethers_update; ++int fake_regen; ++int fake_num; ++int fake_time; ++int buffer_num; ++int addr_nosubst; ++int nofirst; ++int grant; ++int read_only; ++int duplex; ++int fixbc; ++int hidden; ++int promisc; ++int debug; ++int verbose; ++ ++unsigned int all, good, grat, wgrat, zmac, zip, bad, bmac, bsip, btip, ++ bnew, bgrat, mymac, fake, pfake, nzh, nbe, mis; ++char pfmac[18]; ++char s[128+1]; ++ + void usage(char *name) { + fprintf(stdout, "%s v%s (c) %s <%s>\n\n", NAME, VERSION, AUTHOR, MAIL); + fprintf(stdout, "usage: %s [-h] [-ajgrxziovd]\n", name); +--- a/ipguard.h ++++ b/ipguard.h +@@ -68,33 +68,33 @@ + #define NOTICE 3 + #define INFO 4 + +-char iface[IFNAMSIZ]; +-char ethers_name[PATH_MAX]; +-char log_name[PATH_MAX]; +-char pid_name[PATH_MAX]; +-char fmac[18]; +-char pcapf[PCAPFSIZ]; +-char suser[MAXLOGNAME]; +-int ethers_update; +-int fake_regen; +-int fake_num; +-int fake_time; +-int buffer_num; +-int addr_nosubst; +-int nofirst; +-int grant; +-int read_only; +-int duplex; +-int fixbc; +-int hidden; +-int promisc; +-int debug; +-int verbose; ++extern char iface[IFNAMSIZ]; ++extern char ethers_name[PATH_MAX]; ++extern char log_name[PATH_MAX]; ++extern char pid_name[PATH_MAX]; ++extern char fmac[18]; ++extern char pcapf[PCAPFSIZ]; ++extern char suser[MAXLOGNAME]; ++extern int ethers_update; ++extern int fake_regen; ++extern int fake_num; ++extern int fake_time; ++extern int buffer_num; ++extern int addr_nosubst; ++extern int nofirst; ++extern int grant; ++extern int read_only; ++extern int duplex; ++extern int fixbc; ++extern int hidden; ++extern int promisc; ++extern int debug; ++extern int verbose; + +-unsigned int all, good, grat, wgrat, zmac, zip, bad, bmac, bsip, btip, ++extern unsigned int all, good, grat, wgrat, zmac, zip, bad, bmac, bsip, btip, + bnew, bgrat, mymac, fake, pfake, nzh, nbe, mis; +-char pfmac[18]; +-char s[128+1]; ++extern char pfmac[18]; ++extern char s[128+1]; + + /* ethers.c + */ diff --git a/net-analyzer/ipguard/files/ipguard-1.04-gentoo.patch b/net-analyzer/ipguard/files/ipguard-1.04-gentoo.patch new file mode 100644 index 000000000000..7d66038581b2 --- /dev/null +++ b/net-analyzer/ipguard/files/ipguard-1.04-gentoo.patch @@ -0,0 +1,50 @@ +--- a/Makefile ++++ b/Makefile +@@ -28,13 +28,13 @@ + STATIC= + CC=gcc + +-CFLAGS+=-g -Wall -DETHERS='"$(ETHERS)"' ++CFLAGS+=-Wall -DETHERS='"$(ETHERS)"' + + OBJS=ethers.o ipguard.o packet.o system.o + + .c.o: + @echo Compiling $*.c +- @$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< ++ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< + + all: start $(NAME) + +@@ -47,7 +47,7 @@ + + $(NAME): $(OBJS) + @echo Linking $@ +- @$(CC) -o $@ $(OBJS) $(LIBS) $(STATIC) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(STATIC) + + clean: + @echo Cleaning OBJS +@@ -58,16 +58,16 @@ + @rm -f $(NAME) + + install: all +- mkdir -p -m 755 $(PREFIX)/sbin +- install -s -m 755 $(NAME) $(PREFIX)/sbin/$(NAME) +- mkdir -p -m 755 $(PREFIX)/man/man8 +- install -m 644 doc/$(NAME).8 $(PREFIX)/man/man8/$(NAME).8 ++ mkdir -p -m 755 ${D}$(PREFIX)/sbin ++ install -m 755 $(NAME) ${D}$(PREFIX)/sbin/$(NAME) ++ mkdir -p -m 755 ${D}$(PREFIX)/share/man/man8 ++ install -m 644 doc/$(NAME).8 ${D}$(PREFIX)/share/man/man8/$(NAME).8 + + uninstall: deinstall + + deinstall: +- rm -f $(PREFIX)/man/man8/$(NAME).8 +- rm -f $(PREFIX)/sbin/$(NAME) ++ rm -f ${D}$(PREFIX)/share/man/man8/$(NAME).8 ++ rm -f ${D}$(PREFIX)/sbin/$(NAME) + + ethers.o: ipguard.h + ipguard.o: ipguard.h diff --git a/net-analyzer/ipguard/files/ipguard-1.04-init.d.patch b/net-analyzer/ipguard/files/ipguard-1.04-init.d.patch new file mode 100644 index 000000000000..447d818bf965 --- /dev/null +++ b/net-analyzer/ipguard/files/ipguard-1.04-init.d.patch @@ -0,0 +1,36 @@ +--- a/doc/ipguard.gentoo ++++ b/doc/ipguard.gentoo +@@ -1,7 +1,7 @@ + #! /sbin/runscript + ## $Id: ipguard.gentoo,v 1.5 2010/07/12 03:46:52 sead Exp $ + +-opts="reload" ++extra_commands="reload" + + depend() { + use net +@@ -9,20 +9,20 @@ + + start() { + ebegin "Starting ipguard" +- start-stop-daemon --start --quiet --pidfile /var/run/ipguard.pid \ +- --exec /usr/sbin/ipguard -- -u 300 -xz ++ start-stop-daemon --start --quiet --pidfile /run/ipguard.pid \ ++ --exec /usr/sbin/ipguard -- ${OPTS} ${IFACE} + eend $? + } + + stop() { + ebegin "Stopping ipguard" +- start-stop-daemon --stop --quiet --pidfile /var/run/ipguard.pid ++ start-stop-daemon --stop --quiet --pidfile /run/ipguard.pid + eend $? + } + + reload() { + ebegin "Reloading ipguard" +- start-stop-daemon --stop --quiet --pidfile /var/run/ipguard.pid \ ++ start-stop-daemon --stop --quiet --pidfile /run/ipguard.pid \ + --signal HUP + eend $? + } diff --git a/net-analyzer/ipguard/files/ipguard-1.04-runpath.patch b/net-analyzer/ipguard/files/ipguard-1.04-runpath.patch new file mode 100644 index 000000000000..930f2cc84fde --- /dev/null +++ b/net-analyzer/ipguard/files/ipguard-1.04-runpath.patch @@ -0,0 +1,11 @@ +--- a/ipguard.h ++++ b/ipguard.h +@@ -53,7 +53,7 @@ + + #define ETHERSFILE ETHERS + #define LOGNAME "/var/log/ipguard" +-#define PIDNAME "/var/run/ipguard" ++#define PIDNAME "/run/ipguard" + #define FAKEMAC "de:ad:xx:xx:xx:xx" + #define PCAPFSIZ 128 + diff --git a/net-analyzer/ipguard/files/ipguard.confd b/net-analyzer/ipguard/files/ipguard.confd new file mode 100644 index 000000000000..fc7fb66cd46c --- /dev/null +++ b/net-analyzer/ipguard/files/ipguard.confd @@ -0,0 +1,8 @@ +# ipguard configuration file + +# IFACE - the name of the network interface you want to monitor +# IFACE=eth0 +IFACE=eth0 + +# OPTS - command line options (see ipguard(8) +OPTS="-u 300 -xz -r" diff --git a/net-analyzer/ipguard/ipguard-1.04-r1.ebuild b/net-analyzer/ipguard/ipguard-1.04-r1.ebuild new file mode 100644 index 000000000000..0b9d630790e5 --- /dev/null +++ b/net-analyzer/ipguard/ipguard-1.04-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Tool designed to protect LAN IP adress space by ARP spoofing" +HOMEPAGE="http://ipguard.deep.perm.ru/" +SRC_URI="http://ipguard.deep.perm.ru/files/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-init.d.patch + "${FILESDIR}"/${P}-runpath.patch + "${FILESDIR}"/${P}-fno-common.patch +) + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + LIBNET_CONFIG="$(tc-getPKG_CONFIG) libnet" \ + PREFIX=\""${EPREFIX:-/usr}"\" +} + +src_install() { + emake \ + DESTDIR="${D}" \ + LIBNET_CONFIG="$(tc-getPKG_CONFIG) libnet" \ + PREFIX=\""${EPREFIX:-/usr}"\" \ + install + + newinitd doc/${PN}.gentoo ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + dodoc doc/{NEWS,README*,ethers.sample} +} diff --git a/net-analyzer/ipguard/metadata.xml b/net-analyzer/ipguard/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ipguard/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/iplog/Manifest b/net-analyzer/iplog/Manifest new file mode 100644 index 000000000000..39a7d9ae2915 --- /dev/null +++ b/net-analyzer/iplog/Manifest @@ -0,0 +1 @@ +DIST iplog-2.2.3.tar.gz 133639 BLAKE2B f8108259f3f9b662297785988c40711d9d4ce6381377ed9a797f441c84fd1dcd9f0c3832e07ed9a660ddcc41bc52777136204274de873b72bce151327738ec2d SHA512 d7669e39b728af366b5199c58d396c6907496b4895ffb1ba0cba54fae0646f9792170f932de1eae9634b5ac356644a5d6d0ccaf7bc77a62641695992245c9aed diff --git a/net-analyzer/iplog/files/2.2.3-DLT_LINUX_SSL.patch b/net-analyzer/iplog/files/2.2.3-DLT_LINUX_SSL.patch new file mode 100644 index 000000000000..84a447af4f9f --- /dev/null +++ b/net-analyzer/iplog/files/2.2.3-DLT_LINUX_SSL.patch @@ -0,0 +1,134 @@ +--- a/src/iplog_options.c ++++ b/src/iplog_options.c +@@ -440,58 +440,58 @@ + + static void print_help(void) { + mysyslog( +-"Usage: " PACKAGE " [options] (\"*\" Denotes enabled by default) +---user or -u <user|UID> Run as specified the user or UID. +---group or -g <group|GID> Run with specified the group or GID. +---logfile or -l <file> Log to <file>. +---pid-file <file> Use <file> as the pid file. +---ignore or -d Ignore DNS traffic from nameservers listed in +- /etc/resolv.conf. +---interface or -i <if0,...,ifN> Listen on the specified interface(s). +---promisc or -a <network> Log traffic to all hosts on <network>. +---kill or -k Kill iplog, if it is running. +---restart or -R Restart iplog, if it is running. +---no-fork or -o Run in the foreground. +---stdout or -L Log to stdout. +---help or -h This help screen. +---version or -v Print version information and exit. +- +---facility <facility> Use the specified syslog facility. +---priority <priority> Use the specified syslog priority. +- +---tcp[=true|false|toggle] %cLog TCP traffic. +---udp[=true|false|toggle] %cLog UDP traffic. +---icmp[=true|false|toggle] %cLog ICMP traffic. +- +---log-ip[=true|false|toggle] or -w %cLog IP along with hostname. +---log-dest[=true|false|toggle] or -D %cLog the destination of traffic. +---dns-cache[=true|false|toggle] or -c %cUse the built-in DNS cache. +---get-ident[=true|false|toggle] or -e %cGet ident info on connections +- to listening ports. +- +---tcp-resolve[=true|false|toggle] or -T %cResolve IPs of TCP traffic. +---udp-resolve[=true|false|toggle] or -U %cResolve IPs of UDP traffic. +---icmp-resolve[=true|false|toggle] or -I %cResolve IPs of ICMP traffic. +---disable-resolver or -N %cDo not resolve any IPs. +- +---verbose[=true|false|toggle] or -V %cBe verbose. +---fool-nmap[=true|false|toggle] or -z %cFool nmap's OS detection. +---scans-only[=true|false|toggle] or -m %cOnly log scans. +---detect-syn-flood[=true|false|toggle] or -s %cStop resolving IPs if a +- SYN flood is detected. +- +---log-frag[=true|false|toggle] or -y %cLog fragment attacks. +---log-traceroute[=true|false|toggle] or -t %cLog traceroutes. +---log-ping-flood[=true|false|toggle] or -P %cLog ICMP ping floods. +---log-smurf[=true|false|toggle] or -S %cLog smurf attacks. +---log-bogus[=true|false|toggle] or -b %cLog bogus TCP flags. +---log-portscan[=true|false|toggle] or -p %cLog port scans. +---log-udp-scan[=true|false|toggle] or -F %cLog UDP scans/floods. +---log-fin-scan[=true|false|toggle] or -f %cLog FIN scans. +---log-syn-scan[=true|false|toggle] or -q %cLog SYN scans. +---log-xmas-scan[=true|false|toggle] or -x %cLog Xmas scans. +---log-null-scan[=true|false|toggle] or -n %cLog null scans.", +-IS_DEFAULT(LOG_TCP), IS_DEFAULT(LOG_UDP), IS_DEFAULT(LOG_ICMP), ++"Usage: %s [options] (\"*\" Denotes enabled by default)\n" ++"--user or -u <user|UID> Run as specified the user or UID.\n" ++"--group or -g <group|GID> Run with specified the group or GID.\n" ++"--logfile or -l <file> Log to <file>.\n" ++"--pid-file <file> Use <file> as the pid file.\n" ++"--ignore or -d Ignore DNS traffic from nameservers listed in\n" ++" /etc/resolv.conf.\n" ++"--interface or -i <if0,...,ifN> Listen on the specified interface(s).\n" ++"--promisc or -a <network> Log traffic to all hosts on <network>.\n" ++"--kill or -k Kill iplog, if it is running.\n" ++"--restart or -R Restart iplog, if it is running.\n" ++"--no-fork or -o Run in the foreground.\n" ++"--stdout or -L Log to stdout.\n" ++"--help or -h This help screen.\n" ++"--version or -v Print version information and exit.\n" ++"\n" ++"--facility <facility> Use the specified syslog facility.\n" ++"--priority <priority> Use the specified syslog priority.\n" ++"\n" ++"--tcp[=true|false|toggle] %cLog TCP traffic.\n" ++"--udp[=true|false|toggle] %cLog UDP traffic.\n" ++"--icmp[=true|false|toggle] %cLog ICMP traffic.\n" ++"\n" ++"--log-ip[=true|false|toggle] or -w %cLog IP along with hostname.\n" ++"--log-dest[=true|false|toggle] or -D %cLog the destination of traffic.\n" ++"--dns-cache[=true|false|toggle] or -c %cUse the built-in DNS cache.\n" ++"--get-ident[=true|false|toggle] or -e %cGet ident info on connections\n" ++" to listening ports.\n" ++"\n" ++"--tcp-resolve[=true|false|toggle] or -T %cResolve IPs of TCP traffic.\n" ++"--udp-resolve[=true|false|toggle] or -U %cResolve IPs of UDP traffic.\n" ++"--icmp-resolve[=true|false|toggle] or -I %cResolve IPs of ICMP traffic.\n" ++"--disable-resolver or -N %cDo not resolve any IPs.\n" ++"\n" ++"--verbose[=true|false|toggle] or -V %cBe verbose.\n" ++"--fool-nmap[=true|false|toggle] or -z %cFool nmap's OS detection.\n" ++"--scans-only[=true|false|toggle] or -m %cOnly log scans.\n" ++"--detect-syn-flood[=true|false|toggle] or -s %cStop resolving IPs if a\n" ++" SYN flood is detected.\n" ++"\n" ++"--log-frag[=true|false|toggle] or -y %cLog fragment attacks.\n" ++"--log-traceroute[=true|false|toggle] or -t %cLog traceroutes.\n" ++"--log-ping-flood[=true|false|toggle] or -P %cLog ICMP ping floods.\n" ++"--log-smurf[=true|false|toggle] or -S %cLog smurf attacks.\n" ++"--log-bogus[=true|false|toggle] or -b %cLog bogus TCP flags.\n" ++"--log-portscan[=true|false|toggle] or -p %cLog port scans.\n" ++"--log-udp-scan[=true|false|toggle] or -F %cLog UDP scans/floods.\n" ++"--log-fin-scan[=true|false|toggle] or -f %cLog FIN scans.\n" ++"--log-syn-scan[=true|false|toggle] or -q %cLog SYN scans.\n" ++"--log-xmas-scan[=true|false|toggle] or -x %cLog Xmas scans.\n" ++"--log-null-scan[=true|false|toggle] or -n %cLog null scans.", ++PACKAGE, IS_DEFAULT(LOG_TCP), IS_DEFAULT(LOG_UDP), IS_DEFAULT(LOG_ICMP), + IS_DEFAULT(LOG_IP), IS_DEFAULT(LOG_DEST), IS_DEFAULT(DNS_CACHE), + IS_DEFAULT(GET_IDENT), IS_DEFAULT(TCP_RES), IS_DEFAULT(UDP_RES), + IS_DEFAULT(ICMP_RES), IS_DEFAULT(NO_RESOLV), IS_DEFAULT(VERBOSE), +--- a/src/iplog_pcap.c ++++ b/src/iplog_pcap.c +@@ -189,8 +189,16 @@ + case DLT_PPP_BSDOS: + dlt = 24; + break; +- case DLT_SLIP: +- dlt = 16; ++#ifdef DLT_FDDI ++ case DLT_FDDI: ++ dlt = 21; ++ break; ++#endif ++ case DLT_SLIP: ++#ifdef DLT_LINUX_SLL ++ case DLT_LINUX_SLL: ++#endif ++ dlt = 16; + break; + case DLT_PPP: + case DLT_NULL: diff --git a/net-analyzer/iplog/files/iplog-2.2.3-C23.patch b/net-analyzer/iplog/files/iplog-2.2.3-C23.patch new file mode 100644 index 000000000000..8552f4de932a --- /dev/null +++ b/net-analyzer/iplog/files/iplog-2.2.3-C23.patch @@ -0,0 +1,42 @@ +https://bugs.gentoo.org/945194 - guard bool for modern compilers +https://bugs.gentoo.org/712644 - type aliaces for musl +--- a/src/iplog.h ++++ b/src/iplog.h +@@ -21,6 +21,8 @@ + #ifndef __IPLOG_H + #define __IPLOG_H + ++#include <sys/types.h> /* for u_* types */ ++ + #ifndef HAVE_IPADDR_T + typedef u_int32_t ipaddr_t; + #endif +@@ -82,7 +82,9 @@ + # define min(x,y) ((x) < (y) ? (x) : (y)) + #endif + ++#if __STDC_VERSION__ <= 201710L + typedef enum { false, true } bool; ++#endif + + #ifdef HAVE_PATHS_H + # include <paths.h> +Explicitly cast sockaddr_in to sockaddr, always correct thing to do in this situation. +--- a/src/iplog_tcp.c 2025-02-16 22:16:15.486203469 +0400 ++++ b/src/iplog_tcp.c 2025-02-16 22:16:58.045309444 +0400 +@@ -142,14 +142,11 @@ + fn_sin.sin_port = tcp->th_sport; + fn_sin.sin_addr.s_addr = ip->ip_src.s_addr; + + ret = sendto(raw_sock, (char *) xip, + sizeof(struct ip) + sizeof(struct tcphdr), 0, +-#if !defined(__GLIBC__) || (__GLIBC__ < 2) +- (struct sockaddr *) +-#endif +- &fn_sin, ++ (struct sockaddr *)&fn_sin, + sizeof(struct sockaddr_in)); + + if (ret == -1) + IDEBUG(("[%s:%d] sendto: %s", __FILE__, __LINE__, strerror(errno))); + diff --git a/net-analyzer/iplog/files/iplog.rc6 b/net-analyzer/iplog/files/iplog.rc6 new file mode 100644 index 000000000000..031f0ce3af7c --- /dev/null +++ b/net-analyzer/iplog/files/iplog.rc6 @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +pidfile=/var/run/iplog.pid + +start() { + ebegin "Starting iplog" + checkconfig + rc=$? + if [ $rc -eq 0 ]; then + start-stop-daemon --start --quiet --startas /usr/sbin/iplog \ + --pidfile=${pidfile} --name=iplog + rc=$? + eend $rc "Failed to start iplog $rc" + else + eend $rc "/etc/iplog.conf does not exist!" + fi +} + +stop() { + ebegin "Stopping iplog" + start-stop-daemon --stop --retry=5 --quiet --pidfile=${pidfile} --name=iplog + # due to a bug in the program, it doesn't properly remove it's pidfile sometimes + rm -f ${pidfile} + eend $? "Failed to stop iplog!" +} + +checkconfig() { + [ -f /etc/iplog.conf ] || return 1 + return 0 +} diff --git a/net-analyzer/iplog/iplog-2.2.3-r3.ebuild b/net-analyzer/iplog/iplog-2.2.3-r3.ebuild new file mode 100644 index 000000000000..445a905f4728 --- /dev/null +++ b/net-analyzer/iplog/iplog-2.2.3-r3.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="TCP/IP traffic logger" +HOMEPAGE="https://ojnk.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/ojnk/${P}.tar.gz" + +LICENSE="|| ( GPL-2 FDL-1.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc x86" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}"/${PV}-DLT_LINUX_SSL.patch ) + +DOCS=( AUTHORS NEWS README TODO example-iplog.conf ) + +src_compile() { + append-cppflags -D_REENTRANT + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" all +} + +src_install() { + default + newinitd "${FILESDIR}"/iplog.rc6 iplog +} diff --git a/net-analyzer/iplog/iplog-2.2.3-r4.ebuild b/net-analyzer/iplog/iplog-2.2.3-r4.ebuild new file mode 100644 index 000000000000..26c28a11b2d4 --- /dev/null +++ b/net-analyzer/iplog/iplog-2.2.3-r4.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs autotools + +DESCRIPTION="TCP/IP traffic logger" +HOMEPAGE="https://ojnk.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/ojnk/${P}.tar.gz" + +LICENSE="|| ( GPL-2 FDL-1.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc x86" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PV}-DLT_LINUX_SSL.patch" + "${FILESDIR}/${P}-C23.patch") + +DOCS=( AUTHORS NEWS README TODO example-iplog.conf ) + +src_prepare() { + default + + #https://bugs.gentoo.org/899936 + #https://bugs.gentoo.org/875155 + eautoreconf +} + +src_compile() { + append-cppflags -D_REENTRANT + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" all +} + +src_install() { + default + newinitd "${FILESDIR}"/iplog.rc6 iplog +} diff --git a/net-analyzer/iplog/metadata.xml b/net-analyzer/iplog/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/iplog/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ippl/Manifest b/net-analyzer/ippl/Manifest new file mode 100644 index 000000000000..31f32a3c1b9d --- /dev/null +++ b/net-analyzer/ippl/Manifest @@ -0,0 +1 @@ +DIST ippl-1.4.14.tar.gz 54030 BLAKE2B 384747ea50e55e52695606538850958320afe53dbe3c71e42c90302dff0b535d2167d18a40f0b2953f941cda1aa238490bfe7b7fde8f675071668ea5f561af74 SHA512 3d71afc3ec7a0420cc9b269bf67dc008a777464c68d233dfbad4ee7a2dd2b960e114500e42866977e31b9dbeee26bbefea937fef8a09aa41cf87f96361ba0088 diff --git a/net-analyzer/ippl/files/ippl-1.4.14-fix-build-system.patch b/net-analyzer/ippl/files/ippl-1.4.14-fix-build-system.patch new file mode 100644 index 000000000000..c6c65cb14d50 --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-fix-build-system.patch @@ -0,0 +1,44 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -11,10 +11,10 @@ + all: binary docs + + binary: Makefile Source/Makefile +- @cd Source && make && cd .. ++ @cd Source && $(MAKE) && cd .. + + docs: +- @cd Docs && make && cd .. ++ @cd Docs && $(MAKE) && cd .. + + install: all + $(INSTALL) -d -m 755 $(SBINDIR) +@@ -29,7 +29,7 @@ + $(INSTALL) -m 644 Docs/ippl.conf.5 $(MANDIR)/man5/ippl.conf.5 + + clean: +- @cd Source && make clean && cd .. && cd Docs && make clean && cd .. ++ @cd Source && $(MAKE) clean && cd .. && cd Docs && $(MAKE) clean && cd .. + + distclean: clean + $(RM) *~ Makefile.common Makefile Source/Makefile Docs/Makefile build-stamp install-stamp +--- a/Source/Makefile.in ++++ b/Source/Makefile.in +@@ -10,7 +10,7 @@ + CC=@CC@ + CFLAGS=@CFLAGS@ + WARNINGS=-Wall@PEDANTIC@ +-LDFLAGS= ++LDFLAGS=@LDFLAGS@ + + SRCS= main.c \ + configuration.c \ +@@ -49,7 +49,7 @@ + y.tab.c: ippl.y Makefile ../Makefile.common + $(YACC) -d $< + +-lex.yy.c: ippl.l Makefile ../Makefile.common ++lex.yy.c: ippl.l y.tab.c Makefile ../Makefile.common + $(LEX) $< + + clean: diff --git a/net-analyzer/ippl/files/ippl-1.4.14-format-warnings.patch b/net-analyzer/ippl/files/ippl-1.4.14-format-warnings.patch new file mode 100644 index 000000000000..db6cfcd7e1d0 --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-format-warnings.patch @@ -0,0 +1,20 @@ +--- a/Source/log.c ++++ b/Source/log.c +@@ -147,7 +147,7 @@ + } + + if (repeats > 0) { +- snprintf(date, 27, asctime(localtime(&last_repeat))); ++ snprintf(date, 27, "%s", asctime(localtime(&last_repeat))); + snprintf(repeat_message, 40, "last message repeated %d time(s)\n", repeats); + write(fd, date+4, strlen(date)-10); + write(fd, " ", 1); +@@ -155,7 +155,7 @@ + repeats = 0; + } + +- snprintf(date, 27, asctime(localtime(¤t))); ++ snprintf(date, 27, "%s", asctime(localtime(¤t))); + write(fd, date+4, strlen(date)-10); + write(fd, " ", 1); + write(fd, entry, (strlen(entry) < 1023) ? strlen(entry) : 1023 ); diff --git a/net-analyzer/ippl/files/ippl-1.4.14-includes.patch b/net-analyzer/ippl/files/ippl-1.4.14-includes.patch new file mode 100644 index 000000000000..12b2832fa342 --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-includes.patch @@ -0,0 +1,20 @@ +--- a/Source/filter.c ++++ b/Source/filter.c +@@ -22,6 +22,7 @@ + + #include <stdlib.h> + #include <ctype.h> ++#include <string.h> /* memcpy() */ + + #include <fnmatch.h> + +--- a/Source/main.c ++++ b/Source/main.c +@@ -37,6 +37,7 @@ + #include <pwd.h> + #include <stdlib.h> + #include <getopt.h> ++#include <grp.h> /* initgroups() */ + + #include "defines.h" + #include "configuration.h" diff --git a/net-analyzer/ippl/files/ippl-1.4.14-lto.patch b/net-analyzer/ippl/files/ippl-1.4.14-lto.patch new file mode 100644 index 000000000000..2e26b6dbd9cf --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-lto.patch @@ -0,0 +1,31 @@ +Holger Hoffstätte 2025-02-12 14:33:04 UTC +As mentioned on IRC: + +The only uses of last_message in configuration.c are +to initialize the buffer with a terminating null. It +seems much easier to move the initialization to log.c +and just remove the declaration/initialization from +configuration.c. + +As there is already an initialisation of the buffer +in log.c all that's needed is to zap the two unnecessary +lines: + +--- a/Source/configuration.c ++++ b/Source/configuration.c +@@ -67,7 +67,6 @@ void set_default_values() { + extern unsigned short log_closing; + extern unsigned short use_ident; + extern unsigned int repeats; +- extern char *last_message; + + dns_expire = DNS_EXPIRE; + log_protocols = NONE; +@@ -79,7 +78,6 @@ void set_default_values() { + log_closing = FALSE; + use_ident = FALSE; + repeats = 0; +- last_message = '\0'; + } + + void parse_config_file(char *filename) { diff --git a/net-analyzer/ippl/files/ippl-1.4.14-manpage.patch b/net-analyzer/ippl/files/ippl-1.4.14-manpage.patch new file mode 100644 index 000000000000..d17e5939cdee --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-manpage.patch @@ -0,0 +1,15 @@ +patch by Marc Haber <mh+debian-packages@zugschlus.de> + +--- a/Docs/ippl.conf.man ++++ b/Docs/ippl.conf.man +@@ -222,9 +222,7 @@ + .SS Protocol + .PP + protocol is one of the supported protocols (see the protocols +-section), except the +-.I all +-keyword, which is not supported. ++section). + + .SS Description + .PP diff --git a/net-analyzer/ippl/files/ippl-1.4.14-musl.patch b/net-analyzer/ippl/files/ippl-1.4.14-musl.patch new file mode 100644 index 000000000000..44596aac3b4a --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-musl.patch @@ -0,0 +1,301 @@ +Add missing includes. For some non-POSIX integer types and open() +Rename global logging facility so it won't try to shadow musl-provided symbol +and cause build failures +udphdr union has two variants - RFC and BSD flavors, glibc uses union, +musl uses BSD flavor in netinet/udp.h with linux/udp.h for RFC flavor. +Switched header to linux. +https://bugs.gentoo.org/716916 +https://bugs.gentoo.org/731184 +--- a/Source/defines.h ++++ b/Source/defines.h +@@ -62,6 +62,7 @@ + + /* Useful types */ + #ifndef _I386_TYPES_H ++#include <sys/types.h> + typedef u_int32_t __u32; + typedef u_int16_t __u16; + typedef u_int8_t __u8; +--- a/Source/pidfile.c ++++ b/Source/pidfile.c +@@ -31,6 +31,7 @@ + #include <string.h> + #include <errno.h> + #include <signal.h> ++#include <fcntl.h> + + /* read_pid + * +--- a/Source/configuration.c ++++ b/Source/configuration.c +@@ -39,11 +39,11 @@ + + FILE *open_configuration(char *name) { + FILE *configfile; +- extern struct loginfo log; ++ extern struct loginfo local_log; + + configfile = fopen(name, "r"); + if (configfile == NULL) { +- log.log(log.level_or_fd, "Cannot open configuration file %s.\n", name); ++ local_log.log(local_log.level_or_fd, "Cannot open configuration file %s.\n", name); + exit(1); + } + return configfile; +--- a/Source/icmp.c ++++ b/Source/icmp.c +@@ -46,7 +46,7 @@ + int icmp_socket; + + struct loginfo icmp_log; +-extern struct loginfo log; ++extern struct loginfo local_log; + extern unsigned short resolve_protocols; + + /* +@@ -299,7 +299,7 @@ + icmp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); + if (icmp_socket <= 0) { + int error = errno; +- log.log(log.level_or_fd, "FATAL: Unable to open icmp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to open icmp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +@@ -311,7 +311,7 @@ + + for(;;) { + if (read(icmp_socket, (__u8 *) &pkt, ICMP_CAPTURE_LENGTH) == -1) { +- log.log(log.level_or_fd, "FATAL: Unable to read icmp raw socket"); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to read icmp raw socket"); + exit(1); + } + +--- a/Source/log.c ++++ b/Source/log.c +@@ -32,7 +32,7 @@ + + #include "log.h" + +-extern struct loginfo log; ++extern struct loginfo local_log; + + /* Mutex either for stdout or for a file */ + pthread_mutex_t log_mutex = PTHREAD_MUTEX_INITIALIZER; +@@ -193,7 +193,7 @@ + + *fd = open((const char *) filename, O_WRONLY | O_APPEND | O_CREAT, 0640); + if (*fd == 0) { +- log.log(log.level_or_fd, "Can't open log file %s.", filename); ++ local_log.log(local_log.level_or_fd, "Can't open log file %s.", filename); + } + } + +--- a/Source/main.c ++++ b/Source/main.c +@@ -54,7 +54,7 @@ + #endif + + /* Logging mechanism */ +-struct loginfo log; ++struct loginfo local_log; + + /* Do we have to run as a daemon? */ + int run_as_daemon = TRUE; +@@ -127,17 +127,17 @@ + + account = getpwnam(used_user); + if (!account) { +- log.log(log.level_or_fd, "WARNING: I cannot find the \"%s\" account. Not spawning threads.", used_user); ++ local_log.log(local_log.level_or_fd, "WARNING: I cannot find the \"%s\" account. Not spawning threads.", used_user); + log_protocols = NONE; + return; + } + + if (!strcmp(used_user, "root")) { +- log.log(log.level_or_fd, "WARNING: Using root account to run threads!"); ++ local_log.log(local_log.level_or_fd, "WARNING: Using root account to run threads!"); + } + + if (log_protocols == NONE) { +- log.log(log.level_or_fd, "WARNING: Nothing to log."); ++ local_log.log(local_log.level_or_fd, "WARNING: Nothing to log."); + return; + } + +@@ -309,7 +309,7 @@ + + /* Check PID */ + if (check_pid(PID_FILE)) { +- log.log(log.level_or_fd, "Already running. Exiting..."); ++ local_log.log(local_log.level_or_fd, "Already running. Exiting..."); + exit(1); + } + +@@ -323,7 +323,7 @@ + + /* Write PID file */ + if (!write_pid(PID_FILE)) { +- log.log(log.level_or_fd, "Can't write pid.\n"); ++ local_log.log(local_log.level_or_fd, "Can't write pid.\n"); + exit(1); + } + +@@ -360,7 +360,7 @@ + (void) remove_pid(PID_FILE); + } + +- log.log(log.level_or_fd, "IP Protocols Logger: stopped (signal %d).", sig); ++ local_log.log(local_log.level_or_fd, "IP Protocols Logger: stopped (signal %d).", sig); + + exit(0); + } +@@ -372,8 +372,8 @@ + */ + void sighup(int sig) { + // DEPRECATED - reload_configuration(); +- // log.log(log.level_or_fd, "IP Protocols Logger: reloaded configuration."); +- log.log(log.level_or_fd, "IP Protocols Logger: reload configuration is unsupported."); ++ // local_log.log(local_log.level_or_fd, "IP Protocols Logger: reloaded configuration."); ++ local_log.log(local_log.level_or_fd, "IP Protocols Logger: reload configuration is unsupported."); + die(sig); + signal(SIGHUP, sighup); + } +@@ -412,15 +412,15 @@ + if (configuration_file == NULL) + configuration_file = strdup(CONFIGURATION_FILE); + +- init_loginfo(&log); +- log.open(&log.level_or_fd, log.file); ++ init_loginfo(&local_log); ++ local_log.open(&local_log.level_or_fd, local_log.file); + + if (run_as_daemon) { + go_background(); + } + + start_all_threads(); +- log.log(log.level_or_fd, "IP Protocols Logger: started."); ++ local_log.log(local_log.level_or_fd, "IP Protocols Logger: started."); + + for(;;) { + sleep(dns_expire); +--- a/Source/netutils.c ++++ b/Source/netutils.c +@@ -34,7 +34,7 @@ + #include "netutils.h" + #include "log.h" + +-extern struct loginfo log; ++extern struct loginfo local_log; + + /* Mutexes */ + pthread_mutex_t service_mutex = PTHREAD_MUTEX_INITIALIZER; +@@ -96,7 +96,7 @@ + pthread_mutex_unlock(&dns_mutex); + + #ifdef CACHE_DEBUG +- log.log(log.level_or_fd, "DEBUG cache: cleared %d entries", dbg_freed); ++ local_log.log(local_log.level_or_fd, "DEBUG cache: cleared %d entries", dbg_freed); + #endif + } + +@@ -121,7 +121,7 @@ + + #ifdef CACHE_DEBUG + if (dbg_calls % DUMP_EVERY == 0) +- log.log(log.level_or_fd, "DEBUG cache: %d calls - %d misses", dbg_calls, dbg_missed); ++ local_log.log(local_log.level_or_fd, "DEBUG cache: %d calls - %d misses", dbg_calls, dbg_missed); + + dbg_calls++; + #endif +@@ -165,8 +165,8 @@ + #endif + res = perform_lookup(host, in); + #ifdef CACHE_DEBUG +- log.log(log.level_or_fd, "DEBUG cache: result of lookup - %s", host); +- log.log(log.level_or_fd, "DEBUG cache: replacing (%d; %d; %d; %s)", key, table[key].ip, table[key].dirty, table[key].name); ++ local_log.log(local_log.level_or_fd, "DEBUG cache: result of lookup - %s", host); ++ local_log.log(local_log.level_or_fd, "DEBUG cache: replacing (%d; %d; %d; %s)", key, table[key].ip, table[key].dirty, table[key].name); + #endif + /* Now host contains the correct value; store it in the table */ + table[key].ip = in; +--- a/Source/tcp.c ++++ b/Source/tcp.c +@@ -51,7 +51,7 @@ + int tcp_socket; + + struct loginfo tcp_log; +-extern struct loginfo log; ++extern struct loginfo local_log; + extern unsigned short resolve_protocols; + extern unsigned short portresolve_protocols; + +@@ -262,7 +262,7 @@ + tcp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_TCP); + if (tcp_socket <= 0) { + int error = errno; +- log.log(log.level_or_fd, "FATAL: Unable to open tcp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to open tcp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +@@ -274,7 +274,7 @@ + + for(;;) { + if (read(tcp_socket, (__u8 *) &pkt, TCP_CAPTURE_LENGTH) == -1) { +- log.log(log.level_or_fd, "FATAL: Unable to read tcp raw socket"); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to read tcp raw socket"); + exit(1); + } + +--- a/Source/ippl.y ++++ b/Source/ippl.y +@@ -535,7 +535,7 @@ + */ + + void print_error(char *s, int l) { +- extern struct loginfo log; ++ extern struct loginfo local_log; + +- log.log(log.level_or_fd, "CFG: Parse error line %d: %s",l,s); ++ local_log.log(local_log.level_or_fd, "CFG: Parse error line %d: %s",l,s); + } +--- a/Source/udp.c ++++ b/Source/udp.c +@@ -21,7 +21,7 @@ + #include <netinet/in.h> + #include <arpa/inet.h> + #include <netinet/ip.h> +-#include <netinet/udp.h> ++#include <linux/udp.h> + #include <sys/types.h> + #include <sys/socket.h> + #include <netdb.h> +@@ -48,7 +48,7 @@ + extern unsigned short resolve_protocols; + + struct loginfo udp_log; +-extern struct loginfo log; ++extern struct loginfo local_log; + + /* + * Structure of a UDP packet +@@ -141,7 +141,7 @@ + udp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_UDP); + if (udp_socket <= 0) { + int error = errno; +- log.log(log.level_or_fd, "FATAL: Unable to open udp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to open udp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +@@ -153,7 +153,7 @@ + + for(;;) { + if (read(udp_socket, (__u8 *) &pkt, UDP_CAPTURE_LENGTH) == -1) { +- log.log(log.level_or_fd, "FATAL: Unable to read udp raw socket"); ++ local_log.log(local_log.level_or_fd, "FATAL: Unable to read udp raw socket"); + exit(1); + } + diff --git a/net-analyzer/ippl/files/ippl-1.4.14-noportresolve.patch b/net-analyzer/ippl/files/ippl-1.4.14-noportresolve.patch new file mode 100644 index 000000000000..919623040f7f --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-noportresolve.patch @@ -0,0 +1,347 @@ +patch by Marc Haber <mh+debian-packages@zugschlus.de> + +--- a/Docs/ippl.conf.man ++++ b/Docs/ippl.conf.man +@@ -92,6 +92,13 @@ + .PP + By default, IP address resolution is disabled for all the protocols. + ++Ippl by default resolves tcp/udp port numbers to their respective ++service names. If you pass a protocol to the noportresolve option, ++ippl logs the port number instead. This is a Debian specific extension. ++ ++By default service resolving is enabled, since this is the behaviour ++of the upstream program. ++ + .SH LOGGING FORMAT + + .BR ippl +@@ -198,6 +205,12 @@ + .I noresolve + disable IP address resolution. + .PP ++.I portresolve ++enable IP service resolution. ++.PP ++.I noportresolve ++disable IP service resolution. ++.PP + .I ident + use ident logging (only for TCP). + .PP + +--- a/Source/configuration.c ++++ b/Source/configuration.c +@@ -60,6 +60,7 @@ + extern unsigned int dns_expire; + extern unsigned short log_protocols; + extern unsigned short resolve_protocols; ++ extern unsigned short portresolve_protocols; + extern unsigned short icmp_format; + extern unsigned short tcp_format; + extern unsigned short udp_format; +@@ -71,6 +72,7 @@ + dns_expire = DNS_EXPIRE; + log_protocols = NONE; + resolve_protocols = 0; /* Do not resolve by default */ ++ portresolve_protocols = RUN_TCP | RUN_UDP | RUN_ICMP; /* Resolve by default */ + icmp_format = LOGFORMAT_NORMAL; + tcp_format = LOGFORMAT_NORMAL; + udp_format = LOGFORMAT_NORMAL; + +--- a/Source/filter.c ++++ b/Source/filter.c +@@ -46,6 +46,7 @@ + + extern unsigned short use_ident; + extern unsigned short resolve_protocols; ++extern unsigned short portresolve_protocols; + extern unsigned short icmp_format; + extern unsigned short tcp_format; + extern unsigned short udp_format; +@@ -66,7 +67,7 @@ + #ifdef FILTER_DEBUG + void display_info(struct log_info *info, int entries) { + +- log.log(log.level_or_fd, "DBG: (e:%d) log:%d ident:%d resolve:%d closing:%d format:%d", entries, info->log, info->ident, info->resolve, info->logclosing, info->logformat); ++ log.log(log.level_or_fd, "DBG: (e:%d) log:%d ident:%d resolve:%d portresolve: %d, closing:%d format:%d", entries, info->log, info->ident, info->resolve, info->portresolve, info->logclosing, info->logformat); + } + #endif + +@@ -200,6 +201,19 @@ + break; + } + } ++ if (info->portresolve == -1) { ++ switch (protocol) { ++ case IPPROTO_ICMP: ++ info->portresolve = portresolve_protocols & RUN_ICMP; ++ break; ++ case IPPROTO_TCP: ++ info->portresolve = portresolve_protocols & RUN_TCP; ++ break; ++ case IPPROTO_UDP: ++ info->portresolve = portresolve_protocols & RUN_UDP; ++ break; ++ } ++ } + } + + struct log_info do_log(const __u32 from, const __u32 to, const __u16 type, const __u16 srctype, const short protocol) { +@@ -244,6 +258,7 @@ + info.log = p->log; + info.ident = p->ident; + info.resolve = p->resolve; ++ info.portresolve = p->portresolve; + info.logformat = p->logformat; + info.logclosing = p->logclosing; + set_defaults(protocol, &info); +@@ -265,6 +280,7 @@ + info.log = p->log; + info.ident = p->ident; + info.resolve = p->resolve; ++ info.portresolve = p->portresolve; + info.logformat = p->logformat; + set_defaults(protocol, &info); + #ifdef FILTER_DEBUG +@@ -280,7 +296,7 @@ + info.log = TRUE; + info.ident = use_ident; + info.logclosing = log_closing; +- info.logformat = info.resolve = -1; ++ info.logformat = info.resolve = info.portresolve = -1; + set_defaults(protocol, &info); + + #ifdef FILTER_DEBUG + +--- a/Source/filter.h ++++ b/Source/filter.h +@@ -53,6 +53,7 @@ + struct filter_entry { + short log; /* TRUE for "log", FALSE for "ignore" */ + short ident; /* TRUE if we should use ident */ ++ short portresolve; /* TRUE if we should resolve TCP/UDP services */ + short resolve; /* TRUE if we should resolve IP addresses */ + short logformat; /* format used to log */ + short logclosing; /* TRUE to log closing TCP connections */ +@@ -72,6 +73,7 @@ + short log; + short ident; + short resolve; ++ short portresolve; + short logclosing; + short logformat; + }; + +--- a/Source/ippl.l ++++ b/Source/ippl.l +@@ -75,6 +75,9 @@ + [lL][oO][gG][cC][lL][oO][sS][iI][nN][gG] return LOGCLOSING; + [nN][oO][lL][oO][gG][cC][lL][oO][sS][iI][nN][gG] return NOLOGCLOSING; + ++[nN][oO][pP][oO][rR][tT][rR][eE][sS][oO][lL][vV][eE] return NOPORTRESOLVE; ++[pP][oO][rR][tT][rR][eE][sS][oO][lL][vV][eE] return PORTRESOLVE; ++ + [nN][oO][rR][eE][sS][oO][lL][vV][eE] return NORESOLVE; + [rR][eE][sS][oO][lL][vV][eE] return RESOLVE; + + +--- a/Source/ippl.y ++++ b/Source/ippl.y +@@ -61,6 +61,7 @@ + + /* Should name resolving be done? */ + unsigned short resolve_protocols; ++unsigned short portresolve_protocols; + + /* Logging format for each protocol */ + unsigned short icmp_format; +@@ -100,7 +101,7 @@ + %token<stringval> IP HOSTMASK IDENTIFIER FILENAME + %token<longval> NUMBER + +-%token LOGFORMAT DETAILED SHORT NORMAL RESOLVE NORESOLVE IDENT NOIDENT LOGCLOSING NOLOGCLOSING ++%token LOGFORMAT DETAILED SHORT NORMAL RESOLVE NORESOLVE IDENT NOIDENT LOGCLOSING NOLOGCLOSING PORTRESOLVE NOPORTRESOLVE + %token RUN RUNAS EXPIRE LOG_IN LOG IGNORE FROM TO TYPE PORT SRCPORT OPTION COMMA + %token ICMP TCP UDP ALL + +@@ -138,6 +139,11 @@ + | NORESOLVE ProtoList EOL + { resolve_protocols &= ~$2; } + ++ | PORTRESOLVE ProtoList EOL ++ { portresolve_protocols |= $2; } ++ | NOPORTRESOLVE ProtoList EOL ++ { portresolve_protocols &= ~$2; } ++ + | LOGCLOSING EOL + { log_closing = TRUE; } + | NOLOGCLOSING EOL +@@ -249,6 +255,7 @@ + switches.log = -1; + switches.ident = use_ident; + switches.resolve = -1; ++ switches.portresolve = -1; + switches.logformat = -1; + switches.logclosing = log_closing; + } +@@ -259,6 +266,7 @@ + $$->ident = switches.ident; + $$->logclosing = switches.logclosing; + $$->resolve = switches.resolve; ++ $$->portresolve = switches.portresolve; + $$->logformat = switches.logformat; + $$->protocol = $4.protocol; + $$->loginfo = $4.loginfoval; +@@ -287,6 +295,8 @@ + | NOIDENT { switches.ident = FALSE; } + | RESOLVE { switches.resolve = RUN_ICMP | RUN_TCP | RUN_UDP; } + | NORESOLVE { switches.resolve = 0; } ++ | PORTRESOLVE { switches.portresolve = RUN_ICMP | RUN_TCP | RUN_UDP; } ++ | NOPORTRESOLVE { switches.portresolve = 0; } + | SHORT { switches.logformat = LOGFORMAT_SHORT; } + | NORMAL { switches.logformat = LOGFORMAT_NORMAL; } + | DETAILED { switches.logformat = LOGFORMAT_DETAILED; } + +--- a/Source/main.c ++++ b/Source/main.c +@@ -48,6 +48,10 @@ + #include "filter.h" + #include "pidfile.h" + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ + /* Logging mechanism */ + struct loginfo log; + + +--- a/Source/netutils.c ++++ b/Source/netutils.c +@@ -237,15 +237,21 @@ + * Get a service name for a specified protocol + */ + +-void service_lookup(char *proto, char *service, __u16 port) { ++void service_lookup(char *proto, char *service, __u16 port, int portresolve) { + struct servent *se; + + pthread_mutex_lock(&service_mutex); +- se = getservbyport(port, proto); +- if (se == NULL) ++ if (portresolve) ++ { ++ se = getservbyport(port, proto); ++ if (se == NULL) ++ snprintf(service, SERVICE_LENGTH, "port %d", ntohs(port)); ++ else { ++ snprintf(service, SERVICE_LENGTH, "%s", se->s_name); ++ } ++ } ++ else { + snprintf(service, SERVICE_LENGTH, "port %d", ntohs(port)); +- else { +- snprintf(service, SERVICE_LENGTH, "%s", se->s_name); + } + pthread_mutex_unlock(&service_mutex); + } + +--- a/Source/netutils.h ++++ b/Source/netutils.h +@@ -53,6 +53,6 @@ + const __u32 src_addr, const __u16 src_port, + const __u32 dst_addr, const __u16 dst_port); + +-void service_lookup(char *proto, char *service, __u16 port); ++void service_lookup(char *proto, char *service, __u16 port, int portresolve); + + #endif + +--- a/Source/tcp.c ++++ b/Source/tcp.c +@@ -51,6 +51,7 @@ + struct loginfo tcp_log; + extern struct loginfo log; + extern unsigned short resolve_protocols; ++extern unsigned short portresolve_protocols; + + /* + * Structure of a TCP packet +@@ -88,7 +89,7 @@ + *details ='\0'; + host_print(remote_host, IPHDR.saddr, + info.resolve); +- service_lookup("tcp", service, TCPHDR.dest); ++ service_lookup("tcp", service, TCPHDR.dest, info.portresolve); + if (info.logformat == LOGFORMAT_DETAILED) { + get_details(details, + IPHDR.saddr, +@@ -186,7 +187,7 @@ + *details ='\0'; + host_print(remote_host, IPHDR.saddr, + info.resolve); +- service_lookup("tcp", service, TCPHDR.dest); ++ service_lookup("tcp", service, TCPHDR.dest, info.portresolve); + if (info.logformat == LOGFORMAT_DETAILED) { + get_details(details, + IPHDR.saddr, + +--- a/Source/udp.c ++++ b/Source/udp.c +@@ -81,7 +81,7 @@ + *details ='\0'; + host_print(remote_host, IPHDR.saddr, + info.resolve); +- service_lookup("udp", service, UDPHDR.dest); ++ service_lookup("udp", service, UDPHDR.dest, info.portresolve); + if (info.logformat == LOGFORMAT_DETAILED) { + get_details(details, + IPHDR.saddr, + +--- a/ippl.conf ++++ b/ippl.conf +@@ -4,13 +4,15 @@ + # User used + # --------- + # Specify the user (declared in /etc/passwd) used to run the +-# logging threads. +-#runas nobody ++# logging threads. The ippl process visible in the process table ++# is still running as root! Look in /proc/pid/task to see the threads ++# running as ippl ++runas ippl + + # Resolve hostnames? + # ------------------ +-# Uncomment the line below to disable DNS lookups +-#noresolve all ++# Uncomment the line below to enable DNS lookups ++#resolve all + + # Use ident? + # ---------- +@@ -38,9 +40,14 @@ + # ---------------- + run icmp tcp + # Uncomment the line below to log UDP traffic. +-# See ippl.conf(5) for recommandations. ++# See ippl.conf(5) for recommendations. + #run udp + ++# Resolve tcp/udp port to service name? ++# ------------------------------------- ++# portresolve icmp tcp udp ++# Set noportresolve <protocol-list> to log port numbers instead ++ + # Logging format + # ---------------- + # If you want to see the destination address, the ports, etc +@@ -63,6 +70,3 @@ + # Do not log DNS queries + #ignore udp port domain + #ignore udp srcport domain +- +-# End of configuration +-# Copyright (C) 1998-1999 Hugo Haas - Etienne Bernard + diff --git a/net-analyzer/ippl/files/ippl-1.4.14-privilege-drop.patch b/net-analyzer/ippl/files/ippl-1.4.14-privilege-drop.patch new file mode 100644 index 000000000000..0f6d03684a93 --- /dev/null +++ b/net-analyzer/ippl/files/ippl-1.4.14-privilege-drop.patch @@ -0,0 +1,140 @@ +privilege-drop by Marc Haber <mh+debian-packages@zugschlus.de> + +--- a/Source/icmp.c ++++ b/Source/icmp.c +@@ -39,6 +39,8 @@ + #include "log.h" + #include "filter.h" + #include "configuration.h" ++#include <string.h> ++#include <errno.h> + + /* Socket */ + int icmp_socket; +@@ -296,14 +298,16 @@ + + icmp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); + if (icmp_socket <= 0) { +- log.log(log.level_or_fd, "FATAL: Unable to open icmp raw socket"); ++ int error = errno; ++ log.log(log.level_or_fd, "FATAL: Unable to open icmp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +- setgid(((struct passwd *)nobody)->pw_gid); ++ /* Don't do this here - race conditions will arise */ ++ /* setgid(((struct passwd *)nobody)->pw_gid); + initgroups(((struct passwd *)nobody)->pw_name, + ((struct passwd *)nobody)->pw_gid); +- setuid(((struct passwd *)nobody)->pw_uid); ++ setuid(((struct passwd *)nobody)->pw_uid); */ + + for(;;) { + if (read(icmp_socket, (__u8 *) &pkt, ICMP_CAPTURE_LENGTH) == -1) { +--- a/Source/main.c ++++ b/Source/main.c +@@ -153,6 +153,17 @@ + run_thread(&udp_t, log_udp, (void *)account); + } + ++ /* Sleep 1 sec to allow the other threads to catchup */ ++ /* Not the best way to solve the issue but it works */ ++ sleep(1); ++ ++ /* Drop privileges */ ++ ++ setgid(((struct passwd *)account)->pw_gid); ++ initgroups(((struct passwd *)account)->pw_name, ++ ((struct passwd *)account)->pw_gid); ++ setuid(((struct passwd *)account)->pw_uid); ++ + } + + +@@ -160,8 +171,10 @@ + * reload_configuration + * + * Stops the threads and reloads the configuration ++ * ++ * -- DEPRECATED (due to privilege drop cannot reload - needs a restart!) + */ +-void reload_configuration() { ++void reload_configuration_DEPRECATED() { + extern pthread_mutex_t log_mutex, service_mutex, dns_mutex, r_mux, w_mux; + extern pthread_cond_t w_cond; + extern int readers; +@@ -353,8 +366,10 @@ + * Function executed when we receive a SIHUP signal + */ + void sighup(int sig) { +- reload_configuration(); +- log.log(log.level_or_fd, "IP Protocols Logger: reloaded configuration."); ++ // DEPRECATED - reload_configuration(); ++ // log.log(log.level_or_fd, "IP Protocols Logger: reloaded configuration."); ++ log.log(log.level_or_fd, "IP Protocols Logger: reload configuration is unsupported."); ++ die(sig); + signal(SIGHUP, sighup); + } + +--- a/Source/tcp.c ++++ b/Source/tcp.c +@@ -44,6 +44,8 @@ + #include "filter.h" + #include "configuration.h" + #include "ident.h" ++#include <errno.h> ++#include <string.h> + + /* Socket */ + int tcp_socket; +@@ -258,14 +260,16 @@ + + tcp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_TCP); + if (tcp_socket <= 0) { +- log.log(log.level_or_fd, "FATAL: Unable to open tcp raw socket"); ++ int error = errno; ++ log.log(log.level_or_fd, "FATAL: Unable to open tcp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +- setgid(((struct passwd *)nobody)->pw_gid); ++ /* Don't do this here - race conditions will arise */ ++ /* setgid(((struct passwd *)nobody)->pw_gid); + initgroups(((struct passwd *)nobody)->pw_name, + ((struct passwd *)nobody)->pw_gid); +- setuid(((struct passwd *)nobody)->pw_uid); ++ setuid(((struct passwd *)nobody)->pw_uid); */ + + for(;;) { + if (read(tcp_socket, (__u8 *) &pkt, TCP_CAPTURE_LENGTH) == -1) { +--- a/Source/udp.c ++++ b/Source/udp.c +@@ -39,6 +39,8 @@ + #include "filter.h" + #include "configuration.h" + #include "ident.h" ++#include <errno.h> ++#include <string.h> + + /* Socket */ + int udp_socket; +@@ -138,14 +140,16 @@ + + udp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_UDP); + if (udp_socket <= 0) { +- log.log(log.level_or_fd, "FATAL: Unable to open udp raw socket"); ++ int error = errno; ++ log.log(log.level_or_fd, "FATAL: Unable to open udp raw socket\nERROR No: %d\nERROR : %s", error, strerror(error)); + exit(1); + } + +- setgid(((struct passwd *)nobody)->pw_gid); ++ /* Don't do this here - race conditions will arise */ ++ /* setgid(((struct passwd *)nobody)->pw_gid); + initgroups(((struct passwd *)nobody)->pw_name, + ((struct passwd *)nobody)->pw_gid); +- setuid(((struct passwd *)nobody)->pw_uid); ++ setuid(((struct passwd *)nobody)->pw_uid); */ + + for(;;) { + if (read(udp_socket, (__u8 *) &pkt, UDP_CAPTURE_LENGTH) == -1) { diff --git a/net-analyzer/ippl/files/ippl.rc b/net-analyzer/ippl/files/ippl.rc new file mode 100644 index 000000000000..e16ccfc6c4e3 --- /dev/null +++ b/net-analyzer/ippl/files/ippl.rc @@ -0,0 +1,30 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checkconfig() { + if [ ! -f /etc/ippl.conf ] + then + eerror "Please create /etc/ippl.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting ippl" + start-stop-daemon --start --quiet --pidfile /run/ippl.pid \ + --exec /usr/sbin/ippl + eend $? "Failed to start ippl" +} + +stop() { + ebegin "Stopping ippl" + start-stop-daemon --stop --quiet --pidfile /run/ippl.pid + eend $? "Failed to stop ippl" +} diff --git a/net-analyzer/ippl/ippl-1.4.14-r7.ebuild b/net-analyzer/ippl/ippl-1.4.14-r7.ebuild new file mode 100644 index 000000000000..e8fc3b4aee3b --- /dev/null +++ b/net-analyzer/ippl/ippl-1.4.14-r7.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs autotools + +DESCRIPTION="A daemon which logs TCP/UDP/ICMP packets" +HOMEPAGE="http://pltplp.net/ippl/" +SRC_URI="http://pltplp.net/ippl/archive/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex" +RDEPEND="acct-user/ippl" + +PATCHES=( + "${FILESDIR}"/${PN}-1.4.14-noportresolve.patch + "${FILESDIR}"/${PN}-1.4.14-manpage.patch + "${FILESDIR}"/${PN}-1.4.14-privilege-drop.patch + "${FILESDIR}"/${PN}-1.4.14-includes.patch + "${FILESDIR}"/${PN}-1.4.14-format-warnings.patch + # bug #351287 + "${FILESDIR}"/${PN}-1.4.14-fix-build-system.patch + "${FILESDIR}"/${PN}-1.4.14-musl.patch + "${FILESDIR}"/${PN}-1.4.14-lto.patch +) + +src_prepare() { + default + # bug #875665 + mv configure.in configure.ac || die + eautoreconf +} + +src_configure() { + tc-export CC + default +} + +src_install() { + dosbin Source/ippl + + insinto /etc + doins ippl.conf + + doman Docs/{ippl.8,ippl.conf.5} + dodoc BUGS CREDITS HISTORY README TODO + + newinitd "${FILESDIR}"/ippl.rc ippl +} diff --git a/net-analyzer/ippl/metadata.xml b/net-analyzer/ippl/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ippl/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipsumdump/Manifest b/net-analyzer/ipsumdump/Manifest new file mode 100644 index 000000000000..902e8a47818b --- /dev/null +++ b/net-analyzer/ipsumdump/Manifest @@ -0,0 +1 @@ +DIST ipsumdump-1.86.tar.gz 895567 BLAKE2B 5d33e2c6a5df836592028fb1026749561188b3e0cc15fe691404ad17bc1dd724f4fd9e1be46bbe76b200288575251178f874df4f8697b0e943de4185b71f9e69 SHA512 38bf55589ab81eb7601283410a9f962508e419c1a0ef24f088a2d1328b29e360a9788a20689ea45724fbc56194ecb5ede1f3b792e5bc7e97a500a7b2e434fe65 diff --git a/net-analyzer/ipsumdump/files/ipsumdump-1.86-SIOCGSTAMP.patch b/net-analyzer/ipsumdump/files/ipsumdump-1.86-SIOCGSTAMP.patch new file mode 100644 index 000000000000..c2f0a74fff11 --- /dev/null +++ b/net-analyzer/ipsumdump/files/ipsumdump-1.86-SIOCGSTAMP.patch @@ -0,0 +1,10 @@ +--- a/src/fromdevice.cc ++++ b/src/fromdevice.cc +@@ -47,6 +47,7 @@ + + #if FROMDEVICE_ALLOW_LINUX + # include <sys/socket.h> ++# include <linux/sockios.h> + # include <net/if.h> + # include <features.h> + # include <linux/if_packet.h> diff --git a/net-analyzer/ipsumdump/ipsumdump-1.86-r1.ebuild b/net-analyzer/ipsumdump/ipsumdump-1.86-r1.ebuild new file mode 100644 index 000000000000..6db10e8c8170 --- /dev/null +++ b/net-analyzer/ipsumdump/ipsumdump-1.86-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Simple TCP/IP Dump summarizer/analyzer" +HOMEPAGE="https://read.seas.harvard.edu/~kohler/ipsumdump/" +SRC_URI="https://read.seas.harvard.edu/~kohler/ipsumdump/${P}.tar.gz" + +LICENSE="the-Click-license" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+ipv6 +nanotimestamp" + +BDEPEND=" + dev-lang/perl + sys-apps/texinfo +" +RDEPEND=" + net-libs/libpcap +" +DEPEND=" + ${RDEPEND} + dev-libs/expat + virtual/os-headers +" + +DOCS=( NEWS.md README.md ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.86-SIOCGSTAMP.patch +) + +src_configure() { + econf \ + --cache-file="${S}"/config.cache \ + $(use_enable ipv6 ip6) \ + $(use_enable nanotimestamp) +} diff --git a/net-analyzer/ipsumdump/metadata.xml b/net-analyzer/ipsumdump/metadata.xml new file mode 100644 index 000000000000..67f72c99dff7 --- /dev/null +++ b/net-analyzer/ipsumdump/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <use> + <flag name="nanotimestamp">Enable timestamps with nano-second resolution</flag> + </use> + <longdescription lang="en"> +The ipsumdump program summarizes TCP/IP dump files into a self-describing ASCII +format easily readable by humans and programs. The companion ipaggcreate +program counts various properties of packet aggregates. +</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/iptraf-ng/Manifest b/net-analyzer/iptraf-ng/Manifest new file mode 100644 index 000000000000..aaecbd9e85f7 --- /dev/null +++ b/net-analyzer/iptraf-ng/Manifest @@ -0,0 +1,2 @@ +DIST iptraf-ng-1.2.1.tar.gz 325177 BLAKE2B 9b8df7fa24711b401464d492993b9c27424ec7ab6230218d1b792a66e5fb60c99b5cdb92ac1b5a6da578c4b10da79333f248f14d10e74057118aadf50263a4ed SHA512 44d36fc92cdbf379f62cb63638663c3ee610225b9c28d60ee55e62e358f398a6b0db281129327b3472e45fb553ee3dd605af09c129f2233f8839ae3dbd799384 +DIST iptraf-ng-1.2.2.tar.gz 325800 BLAKE2B c2ad1821080fcebaef3500aaefcf9a8679c46c09a6851b9cef40fcc6d3b7607c65954ac884e1db4ddf702c62de68bb58ca9cf338c0642bc0ef9e944ca400e4c4 SHA512 275a345ffd3ab9578c4d159c3a8667326224b4a58b2e7787c4db518b81973d87c04b4b6c5275a721858d01a9b44a0200f8defc06c6f88655aa38d4fa6146ea1d diff --git a/net-analyzer/iptraf-ng/files/iptraf-ng-1.2.2-buffer_overflow.patch b/net-analyzer/iptraf-ng/files/iptraf-ng-1.2.2-buffer_overflow.patch new file mode 100644 index 000000000000..9c2262db870a --- /dev/null +++ b/net-analyzer/iptraf-ng/files/iptraf-ng-1.2.2-buffer_overflow.patch @@ -0,0 +1,15 @@ +Fix this issue: + +src/tcptable.c:484:140: warning: ‘%s’ directive output may be truncated writing up to 63 bytes into a region of size between 0 and 225 [-Wformat-truncation=] + +--- a/src/tcptable.c ++++ b/src/tcptable.c +@@ -22,7 +22,7 @@ + #include "hostmon.h" + #include "sockaddr.h" + +-#define MSGSTRING_MAX 320 ++#define MSGSTRING_MAX 640 + + unsigned int bmaxy = 0; + unsigned int imaxy = 0; diff --git a/net-analyzer/iptraf-ng/iptraf-ng-1.2.1.ebuild b/net-analyzer/iptraf-ng/iptraf-ng-1.2.1.ebuild new file mode 100644 index 000000000000..a5d7f61742d2 --- /dev/null +++ b/net-analyzer/iptraf-ng/iptraf-ng-1.2.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="A console-based network monitoring utility" +HOMEPAGE="https://github.com/iptraf-ng/iptraf-ng" +SRC_URI="https://github.com/iptraf-ng/iptraf-ng/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 doc? ( FDL-1.1 )" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="doc" + +RDEPEND=" + >=sys-libs/ncurses-5.7-r7:0= +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + !net-analyzer/iptraf +" +RESTRICT="test" + +src_prepare() { + sed -i \ + -e '/^CC =/d' \ + -e '/^CFLAGS/s:= -g -O2:+= :' \ + -e '/^LDFLAGS =/d' \ + -e 's|$(QUIET_[[:alpha:]]*)||g' \ + Makefile || die + sed -i \ + -e 's|IPTRAF|&-NG|g' \ + -e 's|IPTraf|&-NG|g' \ + -e 's|iptraf|&-ng|g' \ + src/*.8 || die + + default +} + +src_configure() { + # The configure script does not do very much we do not already control + append-cppflags '-DLOCKDIR=\"/run/lock/iptraf-ng\"' + tc-export CC +} + +src_install() { + dosbin ${PN} + + doman src/*.8 + dodoc AUTHORS CHANGES* FAQ README* + + if use doc; then + docinto html + dodoc -r Documentation/* + fi + + keepdir /var/{lib,log}/iptraf-ng #376157 +} diff --git a/net-analyzer/iptraf-ng/iptraf-ng-1.2.2.ebuild b/net-analyzer/iptraf-ng/iptraf-ng-1.2.2.ebuild new file mode 100644 index 000000000000..acc21ec137ae --- /dev/null +++ b/net-analyzer/iptraf-ng/iptraf-ng-1.2.2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Console-based network monitoring utility" +HOMEPAGE="https://github.com/iptraf-ng/iptraf-ng" +SRC_URI="https://github.com/iptraf-ng/iptraf-ng/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 doc? ( FDL-1.1 )" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="doc" +RESTRICT="test" + +RDEPEND=" + >=sys-libs/ncurses-5.7-r7:= +" +DEPEND=" + ${RDEPEND} + virtual/os-headers +" + +PATCHES=( + "${FILESDIR}/${PN}-1.2.2-buffer_overflow.patch" +) + +src_prepare() { + sed -i \ + -e '/^CC =/d' \ + -e '/^CFLAGS/s:= -g -O2:+= :' \ + -e '/^LDFLAGS =/d' \ + -e 's|$(QUIET_[[:alpha:]]*)||g' \ + Makefile || die + sed -i \ + -e 's|IPTRAF|&-NG|g' \ + -e 's|IPTraf|&-NG|g' \ + -e 's|iptraf|&-ng|g' \ + src/*.8 || die + + default +} + +src_configure() { + # The configure script does not do very much we do not already control + append-cppflags '-DLOCKDIR=\"/run/lock/iptraf-ng\"' + tc-export CC +} + +src_install() { + dosbin ${PN} + + doman src/*.8 + dodoc AUTHORS CHANGES* FAQ README* + + # bug #376157 + keepdir /var/{lib,log}/iptraf-ng + + if use doc; then + docinto html + dodoc -r Documentation/* + fi +} diff --git a/net-analyzer/iptraf-ng/metadata.xml b/net-analyzer/iptraf-ng/metadata.xml new file mode 100644 index 000000000000..5657a119a208 --- /dev/null +++ b/net-analyzer/iptraf-ng/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + IPTraf-ng is a console-based network monitoring program for + Linux that displays information about IP traffic. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/iptstate/Manifest b/net-analyzer/iptstate/Manifest new file mode 100644 index 000000000000..5414199ac370 --- /dev/null +++ b/net-analyzer/iptstate/Manifest @@ -0,0 +1 @@ +DIST iptstate-2.2.7.tar.bz2 29994 BLAKE2B 0be657d4452b40b1835279bfa141b94e3db7adeeba141dede8456c64e4847efbb23197afab7e2452c9ad84c1be5eaffa1d9f7da15a5aaeb0c6fb28c1d62d6733 SHA512 43e258639e0f728d4a393d2dd7a834a6df1131da5291559a504800a0918dad3e010baaeb1bca66cb9a62bad6955f678be3302aac916fc956a525cdd7e9d0690a diff --git a/net-analyzer/iptstate/files/iptstate-2.2.7-respect-CPPFLAGS.patch b/net-analyzer/iptstate/files/iptstate-2.2.7-respect-CPPFLAGS.patch new file mode 100644 index 000000000000..6b658eac80bb --- /dev/null +++ b/net-analyzer/iptstate/files/iptstate-2.2.7-respect-CPPFLAGS.patch @@ -0,0 +1,18 @@ +From: Sam James <sam@gentoo.org> +Date: Fri, 10 Dec 2021 03:19:45 +0000 +Subject: [PATCH 3/3] Makefile: don't override CPPFLAGS + +There's no need to explicitly blank this and it prevents overrides +from the environment. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/Makefile ++++ b/Makefile +@@ -26,7 +26,6 @@ CXXFILES?= iptstate.cc + + # THIS IS FOR NORMAL COMPILATION + LIBS?= $(shell $(PKG_CONFIG) --libs ncurses libnetfilter_conntrack) +-CPPFLAGS= + + ### YOU SHOULDN'T NEED TO CHANGE ANYTHING BELOW THIS + diff --git a/net-analyzer/iptstate/files/iptstate-2.2.7-respect-LDFLAGS.patch b/net-analyzer/iptstate/files/iptstate-2.2.7-respect-LDFLAGS.patch new file mode 100644 index 000000000000..41c875453926 --- /dev/null +++ b/net-analyzer/iptstate/files/iptstate-2.2.7-respect-LDFLAGS.patch @@ -0,0 +1,18 @@ +https://github.com/jaymzh/iptstate/pull/21 + +From: Sam James <sam@gentoo.org> +Date: Fri, 10 Dec 2021 03:10:49 +0000 +Subject: [PATCH 1/2] Makefile: respect LDFLAGS + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/Makefile ++++ b/Makefile +@@ -49,7 +49,7 @@ iptstate: iptstate.cc Makefile + echo "+------------------------------------------------------------+" ;\ + echo ""; + +- $(CXX) $(CXXFLAGS) $(CXXFILES) -o iptstate $(LIBS) $(CPPFLAGS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(CXXFILES) -o iptstate $(LIBS) + @touch iptstate + + @\ diff --git a/net-analyzer/iptstate/files/iptstate-2.2.7-use-pkg-config.patch b/net-analyzer/iptstate/files/iptstate-2.2.7-use-pkg-config.patch new file mode 100644 index 000000000000..3896799f78ae --- /dev/null +++ b/net-analyzer/iptstate/files/iptstate-2.2.7-use-pkg-config.patch @@ -0,0 +1,21 @@ +https://github.com/jaymzh/iptstate/pull/21 + +From: Sam James <sam@gentoo.org> +Date: Fri, 10 Dec 2021 03:10:42 +0000 +Subject: [PATCH 2/2] Makefile: Use pkg-config + +Depending on platform, linking against ncurses may require -ltinfo as well, +and linking against netfilter_conntrack may require -lnetfilter too. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ CXXFLAGS?= -g -Wall -O2 -Werror=format-security -Wformat-truncation=0 + CXXFILES?= iptstate.cc + + # THIS IS FOR NORMAL COMPILATION +-LIBS?= -lncurses -lnetfilter_conntrack ++LIBS?= $(shell $(PKG_CONFIG) --libs ncurses libnetfilter_conntrack) + CPPFLAGS= + + ### YOU SHOULDN'T NEED TO CHANGE ANYTHING BELOW THIS diff --git a/net-analyzer/iptstate/iptstate-2.2.7.ebuild b/net-analyzer/iptstate/iptstate-2.2.7.ebuild new file mode 100644 index 000000000000..8ac212c6fb01 --- /dev/null +++ b/net-analyzer/iptstate/iptstate-2.2.7.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="IP Tables State displays states being kept by iptables in a top-like format" +HOMEPAGE="https://www.phildev.net/iptstate/ https://github.com/jaymzh/iptstate" +SRC_URI="https://github.com/jaymzh/${PN}/releases/download/v${PV}/${P}.tar.bz2" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="amd64 ~hppa ~ppc x86" + +RDEPEND=">=sys-libs/ncurses-5.7-r7:= + >=net-libs/libnetfilter_conntrack-0.0.50" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2.7-respect-LDFLAGS.patch + "${FILESDIR}"/${PN}-2.2.7-use-pkg-config.patch + "${FILESDIR}"/${PN}-2.2.7-respect-CPPFLAGS.patch +) + +src_configure() { + tc-export CXX PKG_CONFIG +} + +src_install() { + emake PREFIX="${D}"/usr install + dodoc BUGS Changelog CONTRIB README.md WISHLIST +} diff --git a/net-analyzer/iptstate/metadata.xml b/net-analyzer/iptstate/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/iptstate/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ipv6toolkit/Manifest b/net-analyzer/ipv6toolkit/Manifest new file mode 100644 index 000000000000..f201c7d2dbaa --- /dev/null +++ b/net-analyzer/ipv6toolkit/Manifest @@ -0,0 +1,2 @@ +DIST ipv6toolkit-2.1_p20200412.tar.gz 987247 BLAKE2B 7fcb07c0cbb22e377618f62b69a16e4a5aeda3b3ebc32bd216cf9fa3beb2d8775cec6543482609361bb23304e3284e770ae82ada053fb172c432adfe360e09ba SHA512 480245e4f5ed31d6de726467ab8e1726285ccc7eeb6c84bd75caf62af35409ebf5ea63a29567200b387592317a5d5989c76ad38d3f0842ebdf5392f28e81be9f +DIST ipv6toolkit-2.2.tar.gz 1003009 BLAKE2B c0393fbfc222cc85af56ad902aab3659f109ab37841566f60845f1dfa89f383c5e87252d302c3c8c55bab9885eb5cbef3420b3fb80e66e71654af233042130f1 SHA512 10cd9e4ab5fa6c31b30f374fee064ab54581dc785ec42f9994d4efa7567240263aec84e2394c82a0c95f0175dbcd257f64858bfcb172c362b477a0eb52019056 diff --git a/net-analyzer/ipv6toolkit/ipv6toolkit-2.1_p20200412-r1.ebuild b/net-analyzer/ipv6toolkit/ipv6toolkit-2.1_p20200412-r1.ebuild new file mode 100644 index 000000000000..afe8e856acea --- /dev/null +++ b/net-analyzer/ipv6toolkit/ipv6toolkit-2.1_p20200412-r1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit toolchain-funcs + +DESCRIPTION="Set of IPv6 security/trouble-shooting tools to send arbitrary IPv6-based packets" +HOMEPAGE="https://www.si6networks.com/tools/ipv6toolkit/" +SNAPSHOT="623a0fbc0422cdc0a4b833d7b5ec58a2eaa9bddf" +SRC_URI="https://github.com/fgont/ipv6toolkit/archive/${SNAPSHOT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/"${PN}"-"${SNAPSHOT}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + net-libs/libpcap[ipv6(+)] +" +RDEPEND=" + ${DEPEND} + sys-apps/hwdata +" + +src_prepare() { + default +} + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PREFIX="${EPREFIX}/usr" + sed -i -e "s:ipv6toolkit/oui.txt:hwdata/oui.txt:" data/ipv6toolkit.conf manuals/ipv6toolkit.conf.5 || die +} + +src_install() { + dodir /etc + emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" + #remove the included oui file + rm "${ED}"/usr/share/ipv6toolkit/oui.txt || die + dodoc CHANGES.TXT README.TXT +} diff --git a/net-analyzer/ipv6toolkit/ipv6toolkit-2.2.ebuild b/net-analyzer/ipv6toolkit/ipv6toolkit-2.2.ebuild new file mode 100644 index 000000000000..1570fd66980e --- /dev/null +++ b/net-analyzer/ipv6toolkit/ipv6toolkit-2.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Set of IPv6 security/trouble-shooting tools to send arbitrary IPv6-based packets" +HOMEPAGE="https://www.si6networks.com/tools/ipv6toolkit/" +SRC_URI="https://github.com/fgont/ipv6toolkit/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + net-libs/libpcap[ipv6(+)] +" +RDEPEND=" + ${DEPEND} + sys-apps/hwdata +" + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PREFIX="${EPREFIX}/usr" + + sed -i -e "s:ipv6toolkit/oui.txt:hwdata/oui.txt:" \ + data/ipv6toolkit.conf \ + manuals/ipv6toolkit.conf.5 || die +} + +src_install() { + dodir /etc + emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" + # Remove the included oui file + rm "${ED}"/usr/share/ipv6toolkit/oui.txt || die + dodoc CHANGES.TXT README.TXT +} diff --git a/net-analyzer/ipv6toolkit/metadata.xml b/net-analyzer/ipv6toolkit/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ipv6toolkit/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/isic/Manifest b/net-analyzer/isic/Manifest new file mode 100644 index 000000000000..8b5fd8a15b31 --- /dev/null +++ b/net-analyzer/isic/Manifest @@ -0,0 +1 @@ +DIST isic-0.07.tgz 39823 BLAKE2B 1a6a0bdca9b8e3c6acab9879b1165862311c331697db09f2f6facf1bd5b2b2f716bc2b1c8bea69a771553836fc7ead11c826f8cf5c9369f30577afafbae027c8 SHA512 2495ee1c6d552fa6f8f79ab06a886aeef39d247589479e75124a03d5633a75d47e8c9a15e16de3596744a83f74da7afa460cc3dd8653e346e58ac70e04126882 diff --git a/net-analyzer/isic/files/isic-0.07-configure.patch b/net-analyzer/isic/files/isic-0.07-configure.patch new file mode 100644 index 000000000000..9a080f2a936d --- /dev/null +++ b/net-analyzer/isic/files/isic-0.07-configure.patch @@ -0,0 +1,39 @@ +Make build system respect DESTDIR, fix just the configure +as a path of least resistance. +Autoreconf stuffs spaces where they don't belong and produces +broken configure +https://bugs.gentoo.org/899938 +https://bugs.gentoo.org/874531 +--- a/configure ++++ b/configure +@@ -652,7 +652,7 @@ + #line 653 "configure" + #include "confdefs.h" + +-main(){return(0);} ++int main(){return(0);} + EOF + if { (eval echo configure:658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes +@@ -1092,6 +1092,7 @@ + #line 1119 "configure" + #include "confdefs.h" + #include <ctype.h> ++#include <stdlib.h> + #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) + #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +--- a/Makefile.in ++++ b/Makefile.in +@@ -63,7 +63,7 @@ + tar -czvf isic-$(VERSION).tgz ./isic-$(VERSION)/* ) + + install: $(BINS) $(MAN) +- $(INSTALL) -m 0755 -d $(PREFIX)/bin +- $(INSTALL) -m 0755 -c $(BINS) $(PREFIX)/bin +- $(INSTALL) -m 0755 -d $(PREFIX)/man/man1 +- ${INSTALL} -m 0755 -c $(MAN) $(PREFIX)/man/man1 ++ $(INSTALL) -m 0755 -d $(DESTDIR)/$(PREFIX)/bin ++ $(INSTALL) -m 0755 -c $(BINS) $(DESTDIR)/$(PREFIX)/bin ++ $(INSTALL) -m 0755 -d $(DESTDIR)/$(PREFIX)/share/man/man1 ++ ${INSTALL} -m 0755 -c $(MAN) $(DESTDIR)/$(PREFIX)/share/man/man1 diff --git a/net-analyzer/isic/isic-0.07-r2.ebuild b/net-analyzer/isic/isic-0.07-r2.ebuild new file mode 100644 index 000000000000..451a7a75239a --- /dev/null +++ b/net-analyzer/isic/isic-0.07-r2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="IP Stack Integrity Checker" +HOMEPAGE="https://isic.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/isic/${P}.tgz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +DEPEND="net-libs/libnet:1.1" +RDEPEND="${DEPEND}" + +src_prepare() { + default + # Add two missing includes + echo "#include <netinet/udp.h>" >> isic.h || die + echo "#include <netinet/tcp.h>" >> isic.h || die + + # Install man pages in /usr/share/man + sed -i -e 's|/man/man1|/share&|g' Makefile.in || die +} + +src_configure() { + tc-export CC + # Build system does not know about DESTDIR + econf --prefix="${D}/usr" --exec_prefix="${D}/usr" +} diff --git a/net-analyzer/isic/isic-0.07-r3.ebuild b/net-analyzer/isic/isic-0.07-r3.ebuild new file mode 100644 index 000000000000..91a58a063799 --- /dev/null +++ b/net-analyzer/isic/isic-0.07-r3.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="IP Stack Integrity Checker" +HOMEPAGE="https://isic.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/isic/${P}.tgz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +DEPEND="net-libs/libnet:1.1" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-configure.patch" +) + +src_prepare() { + default + # Add two missing includes + echo "#include <netinet/udp.h>" >> isic.h || die + echo "#include <netinet/tcp.h>" >> isic.h || die + +} + +src_configure() { + tc-export CC + + econf +} diff --git a/net-analyzer/isic/metadata.xml b/net-analyzer/isic/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/isic/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/jnettop/Manifest b/net-analyzer/jnettop/Manifest new file mode 100644 index 000000000000..e46a7709331b --- /dev/null +++ b/net-analyzer/jnettop/Manifest @@ -0,0 +1 @@ +DIST jnettop-0.13.0.tar.gz 131009 BLAKE2B b787d6876199c56af5daeeda55cdd5145ed64268db9066dd2c64c96511ef7bd1c08eb826407d1e488cbd72172fdfc5a2aaaebf81203fb27d2b14c60c3cd3b2ca SHA512 304293cd011ce8556aabf69e91b2e831ac61aa43016bb5b616d24b45805315a815dfba37dfe9f7cd3c637931043d4123b2f46a7637ba1a0b9d30267fe6dcb051 diff --git a/net-analyzer/jnettop/files/jnettop-0.13.0-asneeded.patch b/net-analyzer/jnettop/files/jnettop-0.13.0-asneeded.patch new file mode 100644 index 000000000000..8a43240bb0de --- /dev/null +++ b/net-analyzer/jnettop/files/jnettop-0.13.0-asneeded.patch @@ -0,0 +1,12 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,8 +1,7 @@ + + + INCLUDES = -I$(top_srcdir)/include @GLIB_CFLAGS@ +-AM_LDFLAGS = @GLIB_LIBS@ @NSL_LIBS@ @SOCKET_LIBS@ +-CFLAGS = -g -O0 ++jnettop_LDADD = @GLIB_LIBS@ @NSL_LIBS@ @SOCKET_LIBS@ + + man_MANS = jnettop.8 + diff --git a/net-analyzer/jnettop/files/jnettop-0.13.0-clang16.patch b/net-analyzer/jnettop/files/jnettop-0.13.0-clang16.patch new file mode 100644 index 000000000000..d8723b6a5b13 --- /dev/null +++ b/net-analyzer/jnettop/files/jnettop-0.13.0-clang16.patch @@ -0,0 +1,9 @@ +https://bugs.gentoo.org/870667 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -151,4 +151,5 @@ + AC_MSG_CHECKING([if "localhost" resolves]) + AC_TRY_RUN([ ++#include <stdlib.h> + #include <string.h> + #include <sys/types.h> diff --git a/net-analyzer/jnettop/files/jnettop-0.13.0-tinfo.patch b/net-analyzer/jnettop/files/jnettop-0.13.0-tinfo.patch new file mode 100644 index 000000000000..958685cb5c12 --- /dev/null +++ b/net-analyzer/jnettop/files/jnettop-0.13.0-tinfo.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,8 @@ + AC_HEADER_STDC + AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/sockio.h]) + ++PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],) ++ + # with definitions + AC_ARG_WITH([ncurses], + AC_HELP_STRING([--without-ncurses], [don't use ncurses, default is YES when available]), diff --git a/net-analyzer/jnettop/jnettop-0.13.0-r2.ebuild b/net-analyzer/jnettop/jnettop-0.13.0-r2.ebuild new file mode 100644 index 000000000000..ca30323837fb --- /dev/null +++ b/net-analyzer/jnettop/jnettop-0.13.0-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Top like console network traffic visualiser" +HOMEPAGE="https://sourceforge.net/projects/jnettop" +SRC_URI="http://jnettop.kubs.info/dist/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ~sparc x86" +IUSE="berkdb ncurses syslog" + +RDEPEND=" + net-libs/libpcap + >=dev-libs/glib-2.0.1 + berkdb? ( =sys-libs/db-4* ) + ncurses? ( sys-libs/ncurses ) + syslog? ( virtual/logger ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-asneeded.patch" + "${FILESDIR}/${P}-tinfo.patch" + "${FILESDIR}/${P}-clang16.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + $(use_with ncurses) \ + $(use_with berkdb db4) \ + $(use_with syslog) +} + +src_install() { + default + newdoc .${PN} ${PN}.dotfile +} diff --git a/net-analyzer/jnettop/metadata.xml b/net-analyzer/jnettop/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/jnettop/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/kapacitor/Manifest b/net-analyzer/kapacitor/Manifest new file mode 100644 index 000000000000..e84886f6f4f4 --- /dev/null +++ b/net-analyzer/kapacitor/Manifest @@ -0,0 +1 @@ +DIST kapacitor-1.5.5.tar.gz 5708426 BLAKE2B 432d24f3bbe0f42e36b881e0c709cebd96dd3674ddf752f6a25cfb333108c903073b887e12d630d6c9e33a77b1256ea090cfe216cd9eb30b9bee53c48b7ab154 SHA512 34a2577a9c6f069ab8f747b9bd2f80f941bbedcccd740c24ec9f308804ec259e78cf14c924fcee3315b6f9f7f59adb9c50aedf06587898b8a0fb54f721d79212 diff --git a/net-analyzer/kapacitor/files/kapacitor.confd b/net-analyzer/kapacitor/files/kapacitor.confd new file mode 100644 index 000000000000..d58906ae3e7a --- /dev/null +++ b/net-analyzer/kapacitor/files/kapacitor.confd @@ -0,0 +1,12 @@ +#The convention in this file is to show the default setting commented +#out. +#To change the setting, uncomment it then change the value. + +#This is the kapacitor error log: +#error_log="/var/log/kapacitor/kapacitor.log" + +#This is the kapacitor output log: +#output_log="/dev/null" + +# Extra options to pass to kapacitord: +#kapacitor_opts="" diff --git a/net-analyzer/kapacitor/files/kapacitor.rc b/net-analyzer/kapacitor/files/kapacitor.rc new file mode 100644 index 000000000000..b89d0b1cbf92 --- /dev/null +++ b/net-analyzer/kapacitor/files/kapacitor.rc @@ -0,0 +1,35 @@ +#!/sbin/openrc-run + +config=/etc/kapacitor/kapacitor.conf +pidfile=/var/run/kapacitord.pid +command=/usr/bin/kapacitord +command_args="-config ${config} ${kapacitor_opts}" +command_background=yes +make_pidfile=yes +command_user="kapacitor:kapacitor" + +# Logging +error_log="${error_log:-/var/log/kapacitor/kapacitor.err}" +output_log="${output_log:-/dev/null}" + +# Max open files +rc_ulimit="-n 65536" + +depend() { + after net +} + +start_pre() { + # Check if config file exist + if [ ! -r ${config} ]; then + eerror "config file ${config} doesn't exist" + return 1 + fi + if [ ! -f "$error_log" ]; then + mkdir -p "$(dirname $error_log)" + fi + if [ ! -f "$output_log" ]; then + mkdir -p "$(dirname $output_log)" + fi + return 0 +} diff --git a/net-analyzer/kapacitor/kapacitor-1.5.5.ebuild b/net-analyzer/kapacitor/kapacitor-1.5.5.ebuild new file mode 100644 index 000000000000..b30d15009984 --- /dev/null +++ b/net-analyzer/kapacitor/kapacitor-1.5.5.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit golang-build golang-vcs-snapshot systemd +EGO_PN=github.com/influxdata/kapacitor + +DESCRIPTION="Monitoring, processing and alerting on time series data" +HOMEPAGE="https://www.influxdata.com" +SRC_URI="https://github.com/influxdata/kapacitor/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +COMMON_DEPEND="acct-group/kapacitor + acct-user/kapacitor" + DEPEND="${COMMON_DEPEND}" + RDEPEND="${COMMON_DEPEND}" + +src_compile() { + pushd "src/${EGO_PN}" > /dev/null || die + set -- env GOPATH="${S}" go build -v -work -x ./... + echo "$@" + "$@" || die "compile failed" + popd > /dev/null +} + +src_install() { + pushd "src/${EGO_PN}" > /dev/null || die + set -- env GOPATH="${S}" go install -v -work -x ./... + echo "$@" + "$@" || die + dobin "${S}"/bin/kapacitor{,d} + insinto /etc/kapacitor +doins etc/kapacitor/kapacitor.conf +keepdir /etc/kapacitor/load + insinto /etc/logrotate.d + doins etc/logrotate.d/kapacitor + systemd_dounit scripts/kapacitor.service + keepdir /var/log/kapacitor + fowners kapacitor:kapacitor /var/log/kapacitor + newconfd "${FILESDIR}"/kapacitor.confd kapacitor + newinitd "${FILESDIR}"/kapacitor.rc kapacitor + popd > /dev/null || die +} diff --git a/net-analyzer/kapacitor/metadata.xml b/net-analyzer/kapacitor/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/net-analyzer/kapacitor/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/knocker/Manifest b/net-analyzer/knocker/Manifest new file mode 100644 index 000000000000..9290a58d8dc7 --- /dev/null +++ b/net-analyzer/knocker/Manifest @@ -0,0 +1 @@ +DIST knocker-0.8.0.tar.gz 117380 BLAKE2B bb6b344efc0c7b22266b59430eff3b7982d328b54277085cef9709f9f41b7e6e40b1cc22944b36f927db00cd7f15afc1774be20df504e1f3f4eb2b2b1c293973 SHA512 127fde05f2f331e7a4489c4612852fe841f0981b737be1d871de33355a0b55f2ab50d2c083ef857420b4af81909d5cc8fbe6c89174e141f77e6bf25719b6bf47 diff --git a/net-analyzer/knocker/files/knocker-0.7.1-knocker_user_is_root.patch b/net-analyzer/knocker/files/knocker-0.7.1-knocker_user_is_root.patch new file mode 100644 index 000000000000..d93136b2f255 --- /dev/null +++ b/net-analyzer/knocker/files/knocker-0.7.1-knocker_user_is_root.patch @@ -0,0 +1,11 @@ +--- a/src/knocker_user.c ++++ b/src/knocker_user.c +@@ -82,7 +82,7 @@ + _dir_create (user->dir); + } + +- if (knocker_user_is_root) ++ if (knocker_user_is_root()) + user->super = 1; + else + user->super = 0; diff --git a/net-analyzer/knocker/files/knocker-0.8.0-fency.patch b/net-analyzer/knocker/files/knocker-0.8.0-fency.patch new file mode 100644 index 000000000000..a5ff93fb07bb --- /dev/null +++ b/net-analyzer/knocker/files/knocker-0.8.0-fency.patch @@ -0,0 +1,151 @@ +--- a/ChangeLog ++++ b/ChangeLog +@@ -23,7 +23,7 @@ + .conf in the user ~/.knocker subdirectory. + + 13 May 2002 +- - --no-fency (-nf for short) option added. This switch tells knocker to show ++ - --no-fancy (-nf for short) option added. This switch tells knocker to show + the output in a "polite" way. All the lines and stuffs shown in the default + mode, will not be displayed using this option. + +--- a/src/knocker_args.c ++++ b/src/knocker_args.c +@@ -82,7 +82,7 @@ + fprintf (stdout, "Extra options:\n"); + fprintf (stdout, " %s, %s quiet mode (no console output, logs to file)\n", QUIET_MODE_SHORT_OPT, QUIET_MODE_LONG_OPT); + fprintf (stdout, " %s, %s <logfile> log scan results to the specified file\n", ENABLE_LOGFILE_SHORT_OPT, ENABLE_LOGFILE_LONG_OPT); +- fprintf (stdout, " %s, %s disable fency output\n", NO_FENCY_SHORT_OPT, NO_FENCY_LONG_OPT); ++ fprintf (stdout, " %s, %s disable fancy output\n", NO_FANCY_SHORT_OPT, NO_FANCY_LONG_OPT); + fprintf (stdout, " %s, %s disable colored output\n", NO_COLORS_SHORT_OPT, NO_COLORS_LONG_OPT); + fprintf (stdout, "\n"); + fprintf (stdout, " %s let you configure %s\n", CONFIGURE_LONG_OPT, PACKAGE); +@@ -111,7 +111,7 @@ + args->logfile = logfile; + args->quiet = quiet; + args->colors = colors; +- args->fency = TRUE; /* true by default */ ++ args->fancy = TRUE; /* true by default */ + + return 0; + } +@@ -189,10 +189,10 @@ + } + return (0); /* we should have all arguments here */ + } +- else if ((!strcmp (argv[i], NO_FENCY_SHORT_OPT)) || (!strcmp (argv[i], NO_FENCY_LONG_OPT))) ++ else if ((!strcmp (argv[i], NO_FANCY_SHORT_OPT)) || (!strcmp (argv[i], NO_FANCY_LONG_OPT))) + { +- /* Disable fency output */ +- args->fency = FALSE; ++ /* Disable fancy output */ ++ args->fancy = FALSE; + } + else if ((!strcmp (argv[i], NO_COLORS_SHORT_OPT)) || (!strcmp (argv[i], NO_COLORS_LONG_OPT))) + { +--- a/src/knocker_main.c ++++ b/src/knocker_main.c +@@ -75,7 +75,7 @@ + + knocker_core_init_portscan_data (&pscan_data); + +- if (knocker_args.fency) ++ if (knocker_args.fancy) + knocker_term_clear (); + + knocker_output_open (); +--- a/src/knocker_args.h ++++ b/src/knocker_args.h +@@ -53,9 +53,9 @@ + #define QUIET_MODE_SHORT_OPT "-q" + #define QUIET_MODE_LONG_OPT "--quiet" + +- /* option to disable fency cool out put */ +-#define NO_FENCY_SHORT_OPT "-nf" +-#define NO_FENCY_LONG_OPT "--no-fency" ++ /* option to disable fancy cool out put */ ++#define NO_FANCY_SHORT_OPT "-nf" ++#define NO_FANCY_LONG_OPT "--no-fancy" + + /* option to disable colored out put */ + #define NO_COLORS_SHORT_OPT "-nc" +@@ -88,7 +88,7 @@ + int logfile; /* log to file TRUE,FALSE */ + int quiet; /* quiet mode TRUE,FALSE */ + int colors; /* no colors, TRUE,FALSE */ +- int fency; /* fency output, TRUE, FALSE */ ++ int fancy; /* fancy output, TRUE, FALSE */ + int win32_frontend; + } knocker_args_t; + +--- a/doc/knocker.1 ++++ b/dos/knocker.1 +@@ -38,8 +38,8 @@ + \fB\-lf\fr, \fB\-\-logfile <logfile>\fR + log the results to a specified file. + .TP +-\fB\-nf\fr, \fB\-\-no-fency\fR +-disable fency output ++\fB\-nf\fr, \fB\-\-no-fancy\fR ++disable fancy output + .TP + \fB\-nc\fr, \fB\-\-no-colors\fR + disable colored output +diff --git a/src/knocker_output.c b/src/knocker_output.c +index 4714c24..613b608 100755 +--- a/src/knocker_output.c ++++ b/src/knocker_output.c +@@ -46,7 +46,7 @@ int knocker_output_open (void) + time (&timenow); + knocker_time = ctime (&timenow); + +- if (knocker_args.fency) ++ if (knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, "\n", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); + +@@ -98,7 +98,7 @@ int knocker_output_open (void) + + void knocker_output_host_info (const char *hostname_str, const char *hostip_str) + { +- if (knocker_args.fency) ++ if (knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, " - ", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); + knocker_term_color_fprintf (knocker_output_fp, "hostname to scan: ", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); +@@ -124,7 +124,7 @@ void knocker_output_host_info (const char *hostname_str, const char *hostip_str) + + void knocker_output_resolve_error (char *hostname_str) + { +- if (knocker_args.fency) ++ if (knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, " - ", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); + knocker_term_color_fprintf (knocker_output_fp, "failed to resolve given hostname/IP: ", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); +@@ -144,7 +144,7 @@ void knocker_output_resolve_error (char *hostname_str) + + void knocker_output_ports_info (int sp, int ep) + { +- if (!knocker_args.fency) ++ if (!knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, "\n", KNOCKER_COLOR_2, KNOCKER_COLOR_2_ATTR); + return; +@@ -166,7 +166,7 @@ void knocker_output_ports_info (int sp, int ep) + + void knocker_output_open_port (int port, char *service_str) + { +- if (knocker_args.fency) ++ if (knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, " -=[ ", KNOCKER_COLOR_1, KNOCKER_COLOR_1_ATTR); + knocker_term_color_intfprintf (knocker_output_fp, port, KNOCKER_COLOR_2, KNOCKER_COLOR_2_ATTR); +@@ -192,7 +192,7 @@ void knocker_output_open_port (int port, char *service_str) + + void knocker_output_results (char *hostname_str, char *hostname_ip, int tot_ps, int open_ps, char *secs) + { +- if (knocker_args.fency) ++ if (knocker_args.fancy) + { + knocker_term_color_fprintf (knocker_output_fp, "\n", KNOCKER_COLOR_2, KNOCKER_COLOR_2_ATTR); + knocker_term_color_fprintf (knocker_output_fp, "+=- - - - - - - - - - - - - - - - - - - - - - - - - - - - ", diff --git a/net-analyzer/knocker/knocker-0.8.0.ebuild b/net-analyzer/knocker/knocker-0.8.0.ebuild new file mode 100644 index 000000000000..069f7a174704 --- /dev/null +++ b/net-analyzer/knocker/knocker-0.8.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Knocker is an easy to use security port scanner written in C" +HOMEPAGE="https://knocker.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +PATCHES=( + "${FILESDIR}"/${PN}-0.8.0-fency.patch + "${FILESDIR}"/${PN}-0.7.1-knocker_user_is_root.patch +) + +DOCS=( AUTHORS BUGS ChangeLog NEWS README TO-DO ) + +src_configure() { + tc-export CC + default +} diff --git a/net-analyzer/knocker/metadata.xml b/net-analyzer/knocker/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/knocker/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/lft/Manifest b/net-analyzer/lft/Manifest new file mode 100644 index 000000000000..9b6cb4681d0e --- /dev/null +++ b/net-analyzer/lft/Manifest @@ -0,0 +1 @@ +DIST lft-3.91.tar.gz 377135 BLAKE2B 6b67438738ebab46e5c6c79c17f074042535e9eecb80827562fb6ca6550118ecb3e70118379c4cd0b99611189554fe117ebb3d76580130627b2a21d72c9b5253 SHA512 1d030e2def14330426eef4c81245c4cce5f09c560b65b319199b20d82e967b77a5d4e323e2e64a8c1bcf80d1f87ae871e3f24a7d9cbc19cd7a5be2d3204845e7 diff --git a/net-analyzer/lft/files/lft-3.91-strip.patch b/net-analyzer/lft/files/lft-3.91-strip.patch new file mode 100644 index 000000000000..56657f114b60 --- /dev/null +++ b/net-analyzer/lft/files/lft-3.91-strip.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -51,8 +51,6 @@ + + install: lft lft.8 whob whob.8 + @echo "LFT and WhoB" +- @echo " \_Stripping binaries" +- @$(STRIP) lft whob + @echo " \_Copying files to their intended destinations" + @test -d $(DESTDIR)$(bindir)/. || $(MKDIR) $(DESTDIR)$(bindir) + $(INSTALL) lft $(DESTDIR)$(bindir)/lft diff --git a/net-analyzer/lft/lft-3.91-r1.ebuild b/net-analyzer/lft/lft-3.91-r1.ebuild new file mode 100644 index 000000000000..ad0132a7533e --- /dev/null +++ b/net-analyzer/lft/lft-3.91-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Layer Four Traceroute (LFT) and WhoB" +HOMEPAGE="http://pwhois.org/lft/" +SRC_URI="http://pwhois.org/get/${P}.tar.gz" + +LICENSE="VOSTROM" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +DEPEND=" + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} +" +DOCS=( CHANGELOG README TODO ) +PATCHES=( + "${FILESDIR}"/${PN}-3.91-strip.patch +) + +src_prepare() { + sed -i \ + -e 's|_BSD_SOURCE|_DEFAULT_SOURCE|g' \ + configure config/acconfig.h.in || die + default +} diff --git a/net-analyzer/lft/metadata.xml b/net-analyzer/lft/metadata.xml new file mode 100644 index 000000000000..6e5aab401759 --- /dev/null +++ b/net-analyzer/lft/metadata.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> +(Note that version 3.80 is really 3.8, but released after 3.79.) + +LFT, short for Layer Four Traceroute, is a sort of 'traceroute' that often +works much faster (than the commonly-used Van Jacobson method) and goes through +many configurations of packet-filters (firewalls). More importantly, LFT +implements numerous other features including AS number lookups through several +reliable sources, loose source routing, netblock name lookups, et al. What +makes LFT unique? LFT is the all-in-one traceroute tool because it can launch a +variety of different probes using ICMP, UDP, and TCP protocols, or the RFC1393 +trace method. For example, rather than only launching UDP probes in an attempt +to elicit ICMP "TTL exceeded" from hosts in the path, LFT can send TCP SYN or +FIN probes to target arbitrary services. Then, LFT listens for "TTL exceeded" +messages, TCP RST (reset), and various other interesting heuristics from +firewalls or other gateways in the path. LFT also distinguishes between +TCP-based protocols (source and destination), which make its statistics +slightly more realistic, and gives a savvy user the ability to trace protocol +routes, not just layer-3 (IP) hops. With LFT's verbose output, much can be +discovered about a target network. + +WhoB is a likable whois client (see whois(1)) designed to provide everything a +network engineer needs to know about a routed IP address by typing one line and +reading one line. But even so, it's worth typing a few more lines because WhoB +can do lots of other cool things for you! It can display the origin-ASN based +on the global routing table at that time (according to Prefix WhoIs, RIPE NCC, +or Cymru), the 'origin' ASN registered in the RADB (IRR), the netname and +orgname, etc. By querying pWhoIs, WhoB can even show you all prefixes being +announced by a specific Origin-ASN. WhoB performs the lookups quickly, the +output is easily parsed by automated programs, and it's included as part of the +Layer Four Traceroute (LFT) software package. LFT uses WhoB as a framework (and +you can too, quite easily--see whois.h). Recent LFT releases (as of version +2.5) include WhoB functionality through a standalone "whob" client/command +placed in the LFT binary directory. + + LFT and WhoB continue to evolve and provide more and more useful data to + network engineers and to anyone else that cares how IP datagrams are being + routed. With the advent of smarter firewalls, traffic engineering, QoS, and + per-protocol packet forwarding, LFT and WhoB have become invaluable tools for + many network managers worldwide. +</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/linkchecker/Manifest b/net-analyzer/linkchecker/Manifest new file mode 100644 index 000000000000..cb022ae33356 --- /dev/null +++ b/net-analyzer/linkchecker/Manifest @@ -0,0 +1,2 @@ +DIST LinkChecker-10.5.0.tar.gz 546451 BLAKE2B caf2b4ad18b3fdd2efa8f55e5bf8914685cc9c1bc8c0d83673e06f2eb7d5effa5db6bb028dd094bac2ff3b2c39f7b68e2d5a81bccf40b280e1e0e79be9cefa19 SHA512 4bd39965430ce478db803776790ef382064ccda2096a6a3b358673821b941a064a20fb67a0b25a353859d60e3624cde33fe2b6797657c76882d3b84c443e4a84 +DIST LinkChecker-10.6.0.tar.gz 547746 BLAKE2B 3fa628eefb917f04a53274618c617ded03eea46fabfe6e186962aa0e7deea9555db51a1a57110c9dc2f48131f1385439b23d2eb4a3fe83005463cb117577862b SHA512 a96c362a48862914b83a78af27d967b1225c5f55fde4f2ee533b5996eda7b4b0f7b8a73ea75cbeb246ec6f65fc320f4095644f4113e0fcd6d0b1e78ffe788b8d diff --git a/net-analyzer/linkchecker/files/linkchecker-9.3-bash-completion.patch b/net-analyzer/linkchecker/files/linkchecker-9.3-bash-completion.patch new file mode 100644 index 000000000000..5c7540f0bc85 --- /dev/null +++ b/net-analyzer/linkchecker/files/linkchecker-9.3-bash-completion.patch @@ -0,0 +1,21 @@ + config/linkchecker-completion | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/config/linkchecker-completion b/config/linkchecker-completion +index 5252b3b..0ea3b21 100644 +--- a/config/linkchecker-completion ++++ b/config/linkchecker-completion +@@ -2,7 +2,6 @@ + # Debian Linux system. For other system read the documentation that + # comes with the bash-completion package. + +-have linkchecker && + _linkcheck() { + local cur prev + +@@ -17,4 +16,4 @@ _linkcheck() { + fi + return 0 + } +-[ "$have" ] && complete $filenames -F _linkcheck linkchecker ++complete $filenames -F _linkcheck linkchecker diff --git a/net-analyzer/linkchecker/linkchecker-10.5.0.ebuild b/net-analyzer/linkchecker/linkchecker-10.5.0.ebuild new file mode 100644 index 000000000000..04e8c8de45c9 --- /dev/null +++ b/net-analyzer/linkchecker/linkchecker-10.5.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite?" +DISTUTILS_USE_PEP517=hatchling +DISTUTILS_SINGLE_IMPL=1 +PYPI_NO_NORMALIZE=1 +PYPI_PN=LinkChecker + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature pypi + +DESCRIPTION="Check websites for broken links" +HOMEPAGE="https://github.com/linkchecker/linkchecker" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="sqlite" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/dnspython[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + app-text/pdfminer[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/pyftpdlib[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + ') + sys-devel/gettext + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( "${FILESDIR}/${PN}-9.3-bash-completion.patch" ) + +DOCS=( + doc/changelog.txt + doc/upgrading.txt +) + +python_test() { + # epytest overrides bs4 ignores from pytest.ini + # and also outputs multiple warnings about unclosed test sockets + pytest -vra -n "$(makeopts_jobs)" || die +} + +python_install_all() { + distutils-r1_python_install_all + newbashcomp config/linkchecker-completion ${PN} +} + +pkg_postinst() { + optfeature "Virus scanning" app-antivirus/clamav + optfeature "Check links in PDF files" app-text/pdfminer + optfeature "bash-completion support" dev-python/argcomplete +} diff --git a/net-analyzer/linkchecker/linkchecker-10.6.0.ebuild b/net-analyzer/linkchecker/linkchecker-10.6.0.ebuild new file mode 100644 index 000000000000..f623153d74d7 --- /dev/null +++ b/net-analyzer/linkchecker/linkchecker-10.6.0.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite?" +DISTUTILS_USE_PEP517=hatchling +DISTUTILS_SINGLE_IMPL=1 +PYPI_NO_NORMALIZE=1 +PYPI_PN=LinkChecker + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature pypi + +DESCRIPTION="Check websites for broken links" +HOMEPAGE="https://github.com/linkchecker/linkchecker" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="sqlite" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/dnspython[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + app-text/pdfminer[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/pyftpdlib[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + ') + sys-devel/gettext + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( "${FILESDIR}/${PN}-9.3-bash-completion.patch" ) + +DOCS=( + doc/changelog.txt + doc/upgrading.txt +) + +python_test() { + # epytest overrides bs4 ignores from pytest.ini + # and also outputs multiple warnings about unclosed test sockets + pytest -vra -n "$(makeopts_jobs)" || die +} + +python_install_all() { + distutils-r1_python_install_all + newbashcomp config/linkchecker-completion ${PN} +} + +pkg_postinst() { + optfeature "Check links in PDF files" app-text/pdfminer + optfeature "bash-completion support" dev-python/argcomplete +} diff --git a/net-analyzer/linkchecker/metadata.xml b/net-analyzer/linkchecker/metadata.xml new file mode 100644 index 000000000000..6e191002cbe2 --- /dev/null +++ b/net-analyzer/linkchecker/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>hydrapolic@gmail.com</email> + <name>Tomáš Mózes</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="sqlite">Mozilla Bookmark parsing</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/macchanger/Manifest b/net-analyzer/macchanger/Manifest new file mode 100644 index 000000000000..622a424b5aeb --- /dev/null +++ b/net-analyzer/macchanger/Manifest @@ -0,0 +1,2 @@ +DIST macchanger-1.7.0.tar.gz 396848 BLAKE2B 7a6e5cbf302568884363ab4023033b53b1adc16896d7f88b1717f72b1b2a4d6d2dbfa2259a5c4aaa38d72201c5624a648077730cbc25f869f5f50a343bb93d0c SHA512 69f2008ace6ff8223ecf25805c08ddf42add9ed16c65f3bb57f74b8b0d080d584381ce79592d2ef581a9ba73f12624dae8db63dbb12e4875dfd29d828a4a5da3 +DIST macchanger_1.7.0-5.4.debian.tar.xz 25084 BLAKE2B 65d39333e07a4c89da7e622aaccc0f2cab45af8d84721c3d39c457dfaf3063df872812d07860cbe78634159b0a2944e75aa54c11f46eadc37b9d4a23fc81b629 SHA512 b50b52532fc987f443088f2a4d0f2327dac972e69bc4c0bc0a94de4583df76c7d32c40a143d24b7fa6e066fc36b89c4b160c02b26860c484aab5054a4032f0cc diff --git a/net-analyzer/macchanger/files/macchanger-1.7.0-fix-caddr_t.patch b/net-analyzer/macchanger/files/macchanger-1.7.0-fix-caddr_t.patch new file mode 100644 index 000000000000..0bcffcc67a7a --- /dev/null +++ b/net-analyzer/macchanger/files/macchanger-1.7.0-fix-caddr_t.patch @@ -0,0 +1,13 @@ +https://github.com/alobbs/macchanger/issues/14 + +--- a/src/netinfo.c ++++ b/src/netinfo.c +@@ -113,7 +113,7 @@ + epa->size = IFHWADDRLEN; + + memcpy(&req, &(net->dev), sizeof(struct ifreq)); +- req.ifr_data = (caddr_t)epa; ++ req.ifr_data = (void *)epa; + + if (ioctl(net->sock, SIOCETHTOOL, &req) < 0) { + perror ("[ERROR] Could not read permanent MAC"); diff --git a/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r2.ebuild b/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r2.ebuild new file mode 100644 index 000000000000..5db2c1183962 --- /dev/null +++ b/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r2.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Utility for viewing/manipulating the MAC address of network interfaces" +OUI_DATE="20091029" # Generated with tools/IEEE_OUI.py in the source +OUI_FILE="OUI.list-${OUI_DATE}" +HOMEPAGE="https://github.com/alobbs/macchanger" +SRC_URI=" + https://github.com/alobbs/macchanger/releases/download/${PV/_p*}/${P/_p*}.tar.gz + mirror://debian/pool/main/m/${PN}/${PN}_${PV/_p*}-$(ver_cut 5).$(ver_cut 7).debian.tar.xz +" +LICENSE="GPL-2" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86" +SLOT="0" +IUSE="split-usr" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.0-fix-caddr_t.patch + "${WORKDIR}"/debian/patches/02-fix_usage_message.patch + "${WORKDIR}"/debian/patches/06-update_OUI_list.patch + "${WORKDIR}"/debian/patches/08-fix_random_MAC_choice.patch + "${WORKDIR}"/debian/patches/check-random-device-read-errors.patch + "${WORKDIR}"/debian/patches/verify-changed-MAC.patch + +) +S=${WORKDIR}/${P/_p*} + +src_configure() { + # Shared data is installed below /lib, see Bug #57046 + econf \ + --bindir="${EPREFIX}/sbin" \ + --datadir="${EPREFIX}/lib" +} + +src_install() { + default + + newdoc "${WORKDIR}"/debian/changelog debian.changelog + + # Can cleanup a while after bug #889922 is fixed + if use split-usr ; then + dodir /usr/bin + dosym -r /sbin/macchanger /usr/bin/macchanger + fi + + dosym ../../lib/macchanger /usr/share/macchanger +} diff --git a/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r3.ebuild b/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r3.ebuild new file mode 100644 index 000000000000..d574ebcfa3b2 --- /dev/null +++ b/net-analyzer/macchanger/macchanger-1.7.0_p5_p4-r3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Utility for viewing/manipulating the MAC address of network interfaces" +OUI_DATE="20091029" # Generated with tools/IEEE_OUI.py in the source +OUI_FILE="OUI.list-${OUI_DATE}" +HOMEPAGE="https://github.com/alobbs/macchanger" +SRC_URI=" + https://github.com/alobbs/macchanger/releases/download/${PV/_p*}/${P/_p*}.tar.gz + mirror://debian/pool/main/m/${PN}/${PN}_${PV/_p*}-$(ver_cut 5).$(ver_cut 7).debian.tar.xz +" +LICENSE="GPL-2" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +SLOT="0" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.0-fix-caddr_t.patch + "${WORKDIR}"/debian/patches/02-fix_usage_message.patch + "${WORKDIR}"/debian/patches/06-update_OUI_list.patch + "${WORKDIR}"/debian/patches/08-fix_random_MAC_choice.patch + "${WORKDIR}"/debian/patches/check-random-device-read-errors.patch + "${WORKDIR}"/debian/patches/verify-changed-MAC.patch + +) +S=${WORKDIR}/${P/_p*} + +src_configure() { + # Shared data is installed below /lib, see Bug #57046 + econf \ + --bindir="${EPREFIX}/sbin" \ + --datadir="${EPREFIX}/lib" +} + +src_install() { + default + + newdoc "${WORKDIR}"/debian/changelog debian.changelog + + dosym ../../lib/macchanger /usr/share/macchanger +} diff --git a/net-analyzer/macchanger/metadata.xml b/net-analyzer/macchanger/metadata.xml new file mode 100644 index 000000000000..411546079ee3 --- /dev/null +++ b/net-analyzer/macchanger/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/masscan/Manifest b/net-analyzer/masscan/Manifest new file mode 100644 index 000000000000..dc829a5d3237 --- /dev/null +++ b/net-analyzer/masscan/Manifest @@ -0,0 +1 @@ +DIST masscan-1.3.2.tar.gz 463449 BLAKE2B 5509027c00871b2242e419ab7cf3f775d7ee46e1882a27c52447ca442432712d742c686acbf4daa7307b791da06effa23b8790fc0561a42a4e8ed4c2f0be7713 SHA512 b0709f6f937a0e86c6913407c3bc60187074395ffff7a7a2bb54b23824d72982510e44fb1b1e7dcba85c4ad25ab1a623597661db43d9046165ba865cd9bd5b27 diff --git a/net-analyzer/masscan/files/masscan.conf b/net-analyzer/masscan/files/masscan.conf new file mode 100644 index 000000000000..86a88868dffe --- /dev/null +++ b/net-analyzer/masscan/files/masscan.conf @@ -0,0 +1,7 @@ +rate = 100000.00 +output-format = xml +output-status = all +output-filename = scan.xml +ports = 0-65535 +#range = 0.0.0.0-255.255.255.255 +excludefile = /etc/masscan/exclude.conf diff --git a/net-analyzer/masscan/masscan-1.3.2.ebuild b/net-analyzer/masscan/masscan-1.3.2.ebuild new file mode 100644 index 000000000000..6a290f96f458 --- /dev/null +++ b/net-analyzer/masscan/masscan-1.3.2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Mass IP port scanner" +HOMEPAGE="https://github.com/robertdavidgraham/masscan" +SRC_URI="https://github.com/robertdavidgraham/masscan/archive/${PV}.tar.gz -> ${P}.tar.gz" + +SLOT="0" +LICENSE="AGPL-3" +KEYWORDS="~amd64 ~x86" + +RDEPEND="net-libs/libpcap" + +src_prepare() { + default + + sed -i \ + -e '/$(CC)/s!$(CFLAGS)!$(LDFLAGS) $(CFLAGS)!g' \ + -e '/^GITVER :=/s!= .(.*!=!g' \ + -e '/^SYS/s|gcc|$(CC)|g' \ + -e '/^CFLAGS =/{s,=,+=,;s,-g -ggdb,,;s,-O3,,;}' \ + -e '/^CC =/d' \ + Makefile || die + + tc-export CC +} + +src_install() { + dobin bin/masscan + + insinto /etc/masscan + doins data/exclude.conf + doins "${FILESDIR}"/masscan.conf + + dodoc doc/bot.html *.md + + doman doc/masscan.8 +} diff --git a/net-analyzer/masscan/metadata.xml b/net-analyzer/masscan/metadata.xml new file mode 100644 index 000000000000..948d2e4a0e1c --- /dev/null +++ b/net-analyzer/masscan/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + This is the fastest Internet port scanner. It can scan the + entire Internet in under 6 minutes, transmitting 10 million + packets per second. + + It produces results similar to nmap, the most famous port + scanner. Internally, it operates more like scanrand, + unicornscan, and ZMap, using asynchronous transmission. + The major difference is that it's faster than these other + scanners. In addition, it's more flexible, allowing + arbitrary address ranges and port ranges. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/mbrowse/Manifest b/net-analyzer/mbrowse/Manifest new file mode 100644 index 000000000000..b0fd92cb08f7 --- /dev/null +++ b/net-analyzer/mbrowse/Manifest @@ -0,0 +1 @@ +DIST mbrowse-0.4.3.tar.gz 146028 BLAKE2B 32b33dc4ec10a7b7ece07c47280b703c871e83a41f3cd8d60f7a177925da9c269020d927b193e8550fe15356c55bb4faa47c195354bb7784553601fc39ef00b7 SHA512 adccf8de707611034db0cbb6a37117f6a4741eb92656eab0e9e5c6a8268b17cc66080ed9663fe59a3fea9b110d83bcff9094b5fec133ca7ceb2650fd532a6cb4 diff --git a/net-analyzer/mbrowse/files/mbrowse-0.4.3-flags.patch b/net-analyzer/mbrowse/files/mbrowse-0.4.3-flags.patch new file mode 100644 index 000000000000..f17904b66901 --- /dev/null +++ b/net-analyzer/mbrowse/files/mbrowse-0.4.3-flags.patch @@ -0,0 +1,16 @@ +--- acinclude.m4 ++++ b/acinclude.m4 +@@ -277,13 +277,11 @@ + echo "*** --with-snmp-lib=DIR" + echo "***" + CFLAGS="$ac_save_CFLAGS" +- LDFLAGS="$ac_save_LDFLAGS" + LIBS="$ac_save_LIBS" + ifelse([$3], ,:,[$3]) + fi + + CFLAGS="$ac_save_CFLAGS" +- LDFLAGS="$ac_save_LDFLAGS" + LIBS="$ac_save_LIBS" + + AC_SUBST(SNMP_CFLAGS) diff --git a/net-analyzer/mbrowse/files/mbrowse-0.4.3-fno-common.patch b/net-analyzer/mbrowse/files/mbrowse-0.4.3-fno-common.patch new file mode 100644 index 000000000000..72a4c785a13c --- /dev/null +++ b/net-analyzer/mbrowse/files/mbrowse-0.4.3-fno-common.patch @@ -0,0 +1,29 @@ +--- a/src/interface.h ++++ b/src/interface.h +@@ -9,12 +9,14 @@ + GtkAccelGroup *accels; + } main_widgets_t; + +-struct menu_items { ++typedef struct menu_items { + char *item; + GtkSignalFunc func; + gpointer data; + GtkWidget *mi; +-}; ++} menu_items; ++ ++extern struct menu_items bookmark_items[128]; + + void set_hostname(const char *host); + void set_oid(const char *oid); +--- a/src/bookmarks.c ++++ b/src/bookmarks.c +@@ -27,7 +27,6 @@ + static GtkWidget *bkdial; + int delete = 0; + +-struct menu_items bookmark_items[128]; + static GtkWidget* create_bookmark_dialogue(void); + + static void mark_for_delete(void) { diff --git a/net-analyzer/mbrowse/mbrowse-0.4.3-r1.ebuild b/net-analyzer/mbrowse/mbrowse-0.4.3-r1.ebuild new file mode 100644 index 000000000000..457087b6b4a1 --- /dev/null +++ b/net-analyzer/mbrowse/mbrowse-0.4.3-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="MBrowse is a graphical MIB browser" +HOMEPAGE="https://sourceforge.net/projects/mbrowse/" +SRC_URI="https://downloads.sourceforge.net/${PN}/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +DEPEND=" + dev-libs/glib + net-analyzer/net-snmp:= + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 +" +RDEPEND="${DEPEND}" + +DOCS=( AUTHORS README ChangeLog ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.3-flags.patch + "${FILESDIR}"/${PN}-0.4.3-fno-common.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf --with-snmp-lib="${EPREFIX}/usr/$(get_libdir)" +} diff --git a/net-analyzer/mbrowse/metadata.xml b/net-analyzer/mbrowse/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/mbrowse/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/mdns-scan/Manifest b/net-analyzer/mdns-scan/Manifest new file mode 100644 index 000000000000..4a5c5aaec7b4 --- /dev/null +++ b/net-analyzer/mdns-scan/Manifest @@ -0,0 +1 @@ +DIST mdns-scan-0.5_p20200715.gh.tar.gz 15239 BLAKE2B 10378dacb3ea63dbc4c425a9316a42d29efc7ce86cd3f76b05f0ee9e64b9e2d68264f94047b6b82b3a2768d707dbcbf3f36514422378de7c68de91ace24a180c SHA512 99488093cd4adeca12138739acb64bd58419c270a3dcc204378d579f25a385ae324a343f023da1c4bd093034b0b324bff80a31f462068b122052390c6706cc49 diff --git a/net-analyzer/mdns-scan/mdns-scan-0.5_p20200715.ebuild b/net-analyzer/mdns-scan/mdns-scan-0.5_p20200715.ebuild new file mode 100644 index 000000000000..6a3b4d50f29f --- /dev/null +++ b/net-analyzer/mdns-scan/mdns-scan-0.5_p20200715.ebuild @@ -0,0 +1,25 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="a tool for scanning for mDNS/DNS-SD published services" +HOMEPAGE="https://github.com/alteholz/mdns-scan" +COMMIT="9c307d81d82812e423664e4ebe135f429d995ac8" +SRC_URI="https://github.com/alteholz/mdns-scan/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +src_prepare() { + sed -i "s#-Wall -W -g -O0 -pipe#${CFLAGS}#" Makefile + sed -i "s#-o #${LDFLAGS} -o #" Makefile + default +} + +src_install() { + dodir /usr/bin + default +} diff --git a/net-analyzer/mdns-scan/metadata.xml b/net-analyzer/mdns-scan/metadata.xml new file mode 100644 index 000000000000..379bb780d3d8 --- /dev/null +++ b/net-analyzer/mdns-scan/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Rick Farina</name> + <email>zerochaos@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/monitoring-plugins/Manifest b/net-analyzer/monitoring-plugins/Manifest new file mode 100644 index 000000000000..bf0cd41dd230 --- /dev/null +++ b/net-analyzer/monitoring-plugins/Manifest @@ -0,0 +1 @@ +DIST monitoring-plugins-2.4.0.tar.gz 2746382 BLAKE2B 3e062b9392b4e5885a549ca619eee25f29517e83682e0eb76c8780235b48ab26d79994827c1167e981a993ece3f3f339de61874c912e6fcb17b4cb1af22e97d9 SHA512 7e9aae7768ed9fccbaf377fc54a70374f6a41e8e8ef95cf7440e44fca1080eb23e6b3d737214c96d772eb9a32cdfdbf1b88e0eb35eda0690047d5fe1b485a6b2 diff --git a/net-analyzer/monitoring-plugins/metadata.xml b/net-analyzer/monitoring-plugins/metadata.xml new file mode 100644 index 000000000000..7ca228103c61 --- /dev/null +++ b/net-analyzer/monitoring-plugins/metadata.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>hydrapolic@gmail.com</email> + <name>Tomas Mozes</name> + </maintainer> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="dns"> + Install <pkg>net-dns/bind-tools</pkg> required for monitoring + DNS servers. Disabling the flag does not remove any plugins. + </flag> + <flag name="game"> + Install <pkg>games-util/qstat</pkg> required for monitoring FPS + servers. Disabling the flag does not remove any plugins. + </flag> + <flag name="fping"> + Install <pkg>net-analyzer/fping</pkg> required for fancy ping + monitoring. Disabling the flag does not remove any plugins. + </flag> + <flag name="ipv6"> + Enable ipv6 checks. + </flag> + <flag name="rpc"> + Install <pkg>net-nds/rpcbind</pkg> required for monitoring RPC + services. Disabling the flag does not remove any plugin file. + </flag> + <flag name="ssh"> + Install <pkg>net-misc/openssh</pkg> required for monitoring SSH + servers. Disabling the flag does not remove any plugins. + </flag> + <flag name="snmp"> + Install <pkg>dev-perl/Net-SNMP</pkg> and + <pkg>net-analyzer/net-snmp</pkg> required for monitoring SNMP + values. Disabling the flag does not remove any plugins. + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r1.ebuild b/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r1.ebuild new file mode 100644 index 000000000000..cbb8faf88db6 --- /dev/null +++ b/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +DESCRIPTION="50+ standard plugins for Icinga, Naemon, Nagios, Shinken, Sensu" +HOMEPAGE="https://www.monitoring-plugins.org/" +SRC_URI="https://www.monitoring-plugins.org/download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~sparc x86" +IUSE="curl gnutls ipv6 ldap mysql dns fping game postgres radius samba snmp ssh +ssl" + +# Most of the plugins use automagic dependencies, i.e. the plugin will +# get built if the binary it uses is installed. For example, check_snmp +# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is +# installed. End result: most of our runtime dependencies are required +# at build time as well. +# +# REAL_DEPEND contains the dependencies that are actually needed to +# build. DEPEND contains those plus the automagic dependencies. +# +REAL_DEPEND="dev-lang/perl + curl? ( + dev-libs/uriparser + net-misc/curl + ) + ldap? ( net-nds/openldap:= ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + postgres? ( dev-db/postgresql:= ) + ssl? ( + !gnutls? ( + dev-libs/openssl:0= + ) + gnutls? ( net-libs/gnutls ) + ) + radius? ( net-dialup/freeradius-client )" + +DEPEND="${REAL_DEPEND} + dns? ( net-dns/bind ) + game? ( games-util/qstat ) + fping? ( net-analyzer/fping ) + samba? ( net-fs/samba ) + ssh? ( virtual/openssh ) + snmp? ( dev-perl/Net-SNMP + net-analyzer/net-snmp[-minimal] )" + +# Basically everything collides with nagios-plugins. +RDEPEND="${DEPEND} + acct-group/nagios + acct-user/nagios + !net-analyzer/nagios-plugins" + +# At least one test is interactive. +RESTRICT="test" + +# These all come from gnulib and the ./configure checks are working as +# intended when the functions aren't present. Bugs 921190 and 936891. +QA_CONFIG_IMPL_DECL_SKIP=( + MIN + fpurge + static_assert + statvfs64 + alignof +) + +src_configure() { + append-flags -fno-strict-aliasing + + # Use an array to prevent econf from mangling the ping args. + local myconf=() + + if use ssl; then + myconf+=( $(use_with !gnutls openssl /usr) + $(use_with gnutls gnutls /usr) ) + else + myconf+=( --without-openssl ) + myconf+=( --without-gnutls ) + fi + + # The autodetection for these two commands can hang if localhost is + # down or ICMP traffic is filtered (bug #468296). But also the path + # likes to move around on us (bug #883729). + myconf+=( --with-ping-command="$(command -v ping) -4 -n -U -w %d -c %d %s" ) + + if use ipv6; then + myconf+=( --with-ping6-command="$(command -v ping) -6 -n -U -w %d -c %d %s" ) + fi + + econf \ + $(use_with curl libcurl) \ + $(use_with curl uriparser) \ + $(use_with mysql) \ + $(use_with ipv6) \ + $(use_with ldap) \ + $(use_with postgres pgsql /usr) \ + $(use_with radius) \ + "${myconf[@]}" \ + --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ + --sysconfdir="/etc/nagios" +} + +DOCS=( ACKNOWLEDGEMENTS AUTHORS CODING ChangeLog FAQ \ + NEWS README REQUIREMENTS SUPPORT THANKS ) + +pkg_postinst() { + elog "This ebuild has a number of USE flags that determine what you" + elog "are able to monitor. Depending on what you want to monitor, some" + elog "or all of these USE flags need to be set." + elog + elog "The plugins are installed in ${EROOT}/usr/$(get_libdir)/nagios/plugins" +} diff --git a/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r2.ebuild b/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r2.ebuild new file mode 100644 index 000000000000..a86935897c03 --- /dev/null +++ b/net-analyzer/monitoring-plugins/monitoring-plugins-2.4.0-r2.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +DESCRIPTION="50+ standard plugins for Icinga, Naemon, Nagios, Shinken, Sensu" +HOMEPAGE="https://www.monitoring-plugins.org/" +SRC_URI="https://www.monitoring-plugins.org/download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86" +IUSE="curl gnutls ipv6 ldap mysql dns fping game postgres radius rpc samba snmp ssh +ssl" + +# Most of the plugins use automagic dependencies, i.e. the plugin will +# get built if the binary it uses is installed. For example, check_snmp +# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is +# installed. End result: most of our runtime dependencies are required +# at build time as well. +# +# REAL_DEPEND contains the dependencies that are actually needed to +# build. DEPEND contains those plus the automagic dependencies. +# +REAL_DEPEND="dev-lang/perl + curl? ( + dev-libs/uriparser + net-misc/curl + ) + ldap? ( net-nds/openldap:= ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + postgres? ( dev-db/postgresql:= ) + ssl? ( + !gnutls? ( + dev-libs/openssl:0= + ) + gnutls? ( net-libs/gnutls ) + ) + radius? ( net-dialup/freeradius-client )" + +DEPEND="${REAL_DEPEND} + dns? ( net-dns/bind ) + game? ( games-util/qstat ) + fping? ( net-analyzer/fping ) + rpc? ( net-nds/rpcbind ) + samba? ( net-fs/samba ) + ssh? ( virtual/openssh ) + snmp? ( dev-perl/Net-SNMP + net-analyzer/net-snmp[-minimal] )" + +# Basically everything collides with nagios-plugins. +RDEPEND="${DEPEND} + acct-group/nagios + acct-user/nagios + !net-analyzer/nagios-plugins" + +# At least one test is interactive. +RESTRICT="test" + +# These all come from gnulib and the ./configure checks are working as +# intended when the functions aren't present. Bugs 921190 and 936891. +QA_CONFIG_IMPL_DECL_SKIP=( + MIN + fpurge + static_assert + statvfs64 + alignof +) + +src_configure() { + append-flags -fno-strict-aliasing + + # Use an array to prevent econf from mangling the ping args. + local myconf=() + + if use ssl; then + myconf+=( $(use_with !gnutls openssl /usr) + $(use_with gnutls gnutls /usr) ) + else + myconf+=( --without-openssl ) + myconf+=( --without-gnutls ) + fi + + # The autodetection for these two commands can hang if localhost is + # down or ICMP traffic is filtered (bug #468296). But also the path + # likes to move around on us (bug #883729). + myconf+=( --with-ping-command="$(command -v ping) -4 -n -U -w %d -c %d %s" ) + + if use ipv6; then + myconf+=( --with-ping6-command="$(command -v ping) -6 -n -U -w %d -c %d %s" ) + fi + + econf \ + $(use_with curl libcurl) \ + $(use_with curl uriparser) \ + $(use_with mysql) \ + $(use_with ipv6) \ + $(use_with ldap) \ + $(use_with postgres pgsql /usr) \ + $(use_with radius) \ + "${myconf[@]}" \ + --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ + --sysconfdir="/etc/nagios" +} + +DOCS=( ACKNOWLEDGEMENTS AUTHORS CODING ChangeLog FAQ \ + NEWS README REQUIREMENTS SUPPORT THANKS ) + +pkg_postinst() { + elog "This ebuild has a number of USE flags that determine what you" + elog "are able to monitor. Depending on what you want to monitor, some" + elog "or all of these USE flags need to be set." + elog + elog "The plugins are installed in ${EROOT}/usr/$(get_libdir)/nagios/plugins" +} diff --git a/net-analyzer/mrtg-ping-probe/Manifest b/net-analyzer/mrtg-ping-probe/Manifest new file mode 100644 index 000000000000..fdfdedeb8310 --- /dev/null +++ b/net-analyzer/mrtg-ping-probe/Manifest @@ -0,0 +1 @@ +DIST mrtg-ping-probe-2.2.0.tar.gz 36923 BLAKE2B b4556a46d0d644dc5215b686767370542a0b382287aabe4a9c3c7ed8a165005b7602a83135166b9539f3ac479a397ac6e782ef51eda107140ddb426de0f1397c SHA512 efc86ed732547359d8b2d94da367946d8b573e2b4d1b3d240b8eb7c5bfff17971848ad62c1448cdc0305393193d969361328448d9c9b25ae54866f71614b7cea diff --git a/net-analyzer/mrtg-ping-probe/files/mrtg-ping-cfg b/net-analyzer/mrtg-ping-probe/files/mrtg-ping-cfg new file mode 100644 index 000000000000..85a38221b625 --- /dev/null +++ b/net-analyzer/mrtg-ping-probe/files/mrtg-ping-cfg @@ -0,0 +1,84 @@ +#!/bin/sh +# +# mrtg-ping-cfg { ping | loss } <device> <"Title of page"> +# +# This creates the mrtg.cfg configurations to do pings to devices. +# Makes use of mrt-ping-probe by Peter W. Osel <pwo@guug.de> (see below) +# +# leewm@sgp.hp.com +# Hewlett Packard Singapore +# IT Site Infrastructure Services +# modifed by "Molchanov Alexander <xorader@mail.ru>" + +# location of mrtg ping probe +PING_PROBE=/usr/bin/mrtg-ping-probe + +if [ $# -ne 3 ] +then + head -n 11 $0 + exit +fi + +if [ $1 == "ping" ] ; then + target="$2.ping" + MaxBytes=5000 + AbsMax=10000 + Unscaled="" + YLegend="Round Trip Time" + ShortLegend="ms" + Legend1="Maximum Round Trip Time in Milli Second" + Legend2="Minimum Round Trip Time in Milli Second" + Legend3="Maximal 5 Minute Maximum Round Trip Time" + Legend4="Maximal 5 Minute Minimum Round Trip Time" + LegendI=" Max:" + LegendO=" Min:" + PageTop="<H1>$3</H1><P>Actually we are measuring the ping time between our web server and $2." +elif [ $1 == "loss" ] ; then + target="$2.loss" + PING_PROBE="$PING_PROBE -p loss/loss" + MaxBytes=100 + AbsMax=101 + Unscaled="Unscaled[$target]: dwmy" + YLegend="% Packet Loss" + ShortLegend="%" + Legend1="% Packet Loss" + Legend2="% Packet Loss" + Legend3="Maximal 5 Minute % Packet Loss" + Legend4="Maximal 5 Minute % Packet Loss" + LegendI=" % loss:" + LegendO=" % loss:" + PageTop="<H1>$3</H1><P>Actually we are packet loss between our web server and $2." +else + echo "enter first argument 'ping' or 'loss'" >&2 + head -n 11 $0 + exit +fi + +cat <<EOF +############################################################# +# $1 stats for $2 +# $3 + +Title[$target]: $3 +MaxBytes[$target]: $MaxBytes +AbsMax[$target]: $AbsMax +Options[$target]: gauge +Target[$target]: \`$PING_PROBE $2\` +PageTop[$target]: $PageTop +YLegend[$target]: $YLegend +ShortLegend[$target]: $ShortLegend +Legend1[$target]: $Legend1 +Legend2[$target]: $Legend2 +Legend3[$target]: $Legend3 +Legend4[$target]: $Legend4 +LegendI[$target]: $LegendI +LegendO[$target]: $LegendO +WithPeak[$target]: ymwd +$Unscaled + +#------------------------------------------------------------------- + +EOF + +exit + diff --git a/net-analyzer/mrtg-ping-probe/metadata.xml b/net-analyzer/mrtg-ping-probe/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/mrtg-ping-probe/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/mrtg-ping-probe/mrtg-ping-probe-2.2.0-r1.ebuild b/net-analyzer/mrtg-ping-probe/mrtg-ping-probe-2.2.0-r1.ebuild new file mode 100644 index 000000000000..12267a6386cc --- /dev/null +++ b/net-analyzer/mrtg-ping-probe/mrtg-ping-probe-2.2.0-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Addon mrtg contrib for stats ping/loss packets" +HOMEPAGE="http://pwo.de/projects/mrtg/" +SRC_URI="ftp://ftp.pwo.de/pub/pwo/mrtg/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" + +BDEPEND="dev-lang/perl" +RDEPEND=" + net-analyzer/mrtg +" + +src_prepare() { + default + sed -i check-ping-fmt \ + -e 's:#!/usr/local/bin/perl -w:#!/usr/bin/perl -w:' \ + || die + sed -i mrtg-ping-probe \ + -e 's:#!/bin/perl:#!/usr/bin/perl:' \ + || die +} + +src_install() { + dodoc ChangeLog NEWS README TODO mrtg.cfg-ping + doman mrtg-ping-probe.1 + dobin check-ping-fmt mrtg-ping-probe "${FILESDIR}"/mrtg-ping-cfg +} diff --git a/net-analyzer/mrtg/Manifest b/net-analyzer/mrtg/Manifest new file mode 100644 index 000000000000..6a206f519059 --- /dev/null +++ b/net-analyzer/mrtg/Manifest @@ -0,0 +1 @@ +DIST mrtg-2.17.10.tar.gz 1084792 BLAKE2B a2e69c651a1428514fbe1f4d04cbddde9c7ed3b865d57f204814ec797dabd414c16b03d34bd19a005257938dd9bd2de0e99f641222f240c907fa5f67429710f1 SHA512 b1c5232f1b3dcec39adc4fb5a423738f9470ad470e91c6a918cf3f875e71af263d8e03694c3d66129b2653fa498d8d9d9b95349fe90e9d2e0b3ed6c09d06e080 diff --git a/net-analyzer/mrtg/files/mrtg-2.17.10-c23.patch b/net-analyzer/mrtg/files/mrtg-2.17.10-c23.patch new file mode 100644 index 000000000000..c090637d5ce3 --- /dev/null +++ b/net-analyzer/mrtg/files/mrtg-2.17.10-c23.patch @@ -0,0 +1,87 @@ +From a64a83210643114b3a892e70ce07ded5bd5de054 Mon Sep 17 00:00:00 2001 +From: Joao Eriberto Mota Filho <eriberto@eriberto.pro.br> +Date: Fri, 23 May 2025 11:45:16 -0300 +Subject: [PATCH] Fix function definitions to use modern ANSI C prototypes + (#119) + +* Fix function definitions to use modern ANSI C prototypes + +This commit solves GCC-15 warnings +"old-style function definition [-Wold-style-definition]" + +Closes #115 + +* Update CHANGES + +--------- + +Co-authored-by: Tobias Oetiker <tobi@oetiker.ch> +--- a/src/rateup.c ++++ b/src/rateup.c +@@ -264,18 +264,11 @@ static double expscale(double y, double maxy) + } + + static void +-image (file, maxvi, maxvo, maxx, maxy, xscale, yscale, growright, step, bits, +- ytics, yticsf, peak, currdatetimeformat, currdatetimepos) +- char *file; +- long long maxvi, maxvo; +- long maxx; +- long maxy, growright, step, bits; +- double xscale, yscale; +- int ytics; /* number of tics on the y axis */ +- double yticsf; /* scale everything on the y axis with this factor */ +- int peak; +- char *currdatetimeformat; +- int currdatetimepos; ++image (char *file, long long maxvi, long long maxvo, long maxx, long maxy, double xscale, double yscale, ++ long growright, long step, long bits, int ytics, double yticsf, int peak, char *currdatetimeformat, ++ int currdatetimepos) ++ /* ytics: number of tics on the y axis */ ++ /* yticsf: scale everything on the y axis with this factor */ + { + FILE *fo; + char file_tmp[10240]; +@@ -1156,8 +1149,7 @@ image (file, maxvi, maxvo, maxx, maxy, xscale, yscale, growright, step, bits, + + + static double +-diff (a, b) +- char *a, *b; ++diff (char *a, char *b) + { + char res[MAXL], *a1, *b1, *r1; + int c, x, m; +@@ -1228,8 +1220,7 @@ diff (a, b) + } + + static int +-readhist (file) +- char *file; ++readhist (char *file) + { + FILE *fi; + int x, retcode = 0; +@@ -1380,10 +1371,7 @@ readfile () + } + + static void +-update (in, out, abs_max, absupdate) +- char *in, *out; +- long long abs_max; +- int absupdate; ++update (char *in, char *out, long long abs_max, int absupdate) + { + FILE *fo; + char buf[128], buf1[128], buf2[128]; +@@ -1824,9 +1812,7 @@ readparam (char const *file) + } + + int +-main (argc, argv) +- int argc; +- char **argv; ++main (int argc, char **argv) + { + int x, argi, used, initarg; + diff --git a/net-analyzer/mrtg/files/mrtg-2.17.10-implicit.patch b/net-analyzer/mrtg/files/mrtg-2.17.10-implicit.patch new file mode 100644 index 000000000000..2dff4251cbc5 --- /dev/null +++ b/net-analyzer/mrtg/files/mrtg-2.17.10-implicit.patch @@ -0,0 +1,10 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -31,6 +31,7 @@ + AC_CACHE_VAL(mr_cv_long_long_format_specifier,[ + for format in ll l q I64; do + AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> ++ #include <stdlib.h> + int main() + { + long long b, a = -0x3AFAFAFAFAFAFAFALL; diff --git a/net-analyzer/mrtg/files/mrtg-2.17.4-socket6.patch b/net-analyzer/mrtg/files/mrtg-2.17.4-socket6.patch new file mode 100644 index 000000000000..5540874d9a00 --- /dev/null +++ b/net-analyzer/mrtg/files/mrtg-2.17.4-socket6.patch @@ -0,0 +1,11 @@ +--- a/bin/mrtg ++++ b/bin/mrtg +@@ -300,7 +300,7 @@ sub main { + if ($cfg{enableipv6} eq 'yes') { + if ( eval {local $SIG{__DIE__};require Socket; require Socket6; require IO::Socket::INET6;}) { + import Socket; +- import Socket6; ++ Socket6->import(qw(inet_pton getaddrinfo)); + debug('base', "IPv6 libraries found, IPv6 enabled."); + } else { + warn "$NOW: WARNING: IPv6 libraries not found, IPv6 disabled.\n"; diff --git a/net-analyzer/mrtg/files/mrtg.confd b/net-analyzer/mrtg/files/mrtg.confd new file mode 100644 index 000000000000..3164a361955d --- /dev/null +++ b/net-analyzer/mrtg/files/mrtg.confd @@ -0,0 +1,16 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MRTG_CONF="/etc/mrtg.conf" +MRTG_PID="/var/run/mrtg.pid" + +# uncomment and set the following, if you'd like to run mrtg as a +# different user/group +#MRTG_USER="" +#MRTG_GROUP="" + +# uncomment if you'd like to enable logging +#MRTG_LOG="/var/log/mrtg.log" + +# set any extra options here +MRTG_OPTS="" diff --git a/net-analyzer/mrtg/files/mrtg.rc b/net-analyzer/mrtg/files/mrtg.rc new file mode 100644 index 000000000000..0ff5d0783f38 --- /dev/null +++ b/net-analyzer/mrtg/files/mrtg.rc @@ -0,0 +1,53 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + + # if monitoring snmp variables on this machine: + # use net-snmpd +} + +checkconfig() { + if [ ! -f ${MRTG_CONF} ] ; then + eerror "Please create ${MRTG_CONF} (try man cfgmaker)" + return 1 + fi + + mrtg --check ${MRTG_CONF} + return $? +} + +start() { + # mrtg will not run if LANG=*utf8 + # use grep instead of bash regexp for bug #159786 + [ "$(echo $LANG|grep -E '((^[A-Za-z0-9\_\@\-]+\.)|(^))([uU][tT][fF]-?8)$')" ] \ + && LANG='C' + + checkconfig || return $? + + # enable logging? + [ -n "${MRTG_LOG}" ] && \ + MRTG_OPTS="${MRTG_OPTS} --logging ${MRTG_LOG}" + + # run as a different user? + [ -n "${MRTG_USER}" ] && \ + MRTG_OPTS="${MRTG_OPTS} --user ${MRTG_USER}" + + # run as a different group? + [ -n "${MRTG_GROUP}" ] && \ + MRTG_OPTS="${MRTG_OPTS} --group ${MRTG_GROUP}" + + ebegin "Starting mrtg" + start-stop-daemon --start --quiet --pidfile ${MRTG_PID} --name mrtg\ + --exec /usr/bin/mrtg -- --daemon --pid-file=${MRTG_PID} \ + ${MRTG_OPTS} ${MRTG_CONF} >/dev/null + eend $? "Failed to start mrtg" +} + +stop() { + ebegin "Stopping mrtg" + start-stop-daemon --stop --quiet --pidfile ${MRTG_PID} + eend $? "Failed to stop mrtg" +} diff --git a/net-analyzer/mrtg/metadata.xml b/net-analyzer/mrtg/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/mrtg/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/mrtg/mrtg-2.17.10-r1.ebuild b/net-analyzer/mrtg/mrtg-2.17.10-r1.ebuild new file mode 100644 index 000000000000..270ab21b032d --- /dev/null +++ b/net-analyzer/mrtg/mrtg-2.17.10-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A tool to monitor the traffic load on network-links" +HOMEPAGE="https://oss.oetiker.ch/mrtg/" +SRC_URI="https://oss.oetiker.ch/mrtg/pub/${P}.tar.gz https://github.com/oetiker/mrtg/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 ~sparc x86" +IUSE="selinux" + +DEPEND="dev-lang/perl + >=dev-perl/SNMP_Session-1.13-r2 + >=dev-perl/Socket6-0.23 + media-libs/gd[png]" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-mrtg )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.17.4-socket6.patch + "${FILESDIR}"/${PN}-2.17.10-implicit.patch + "${FILESDIR}"/${PN}-2.17.10-c23.patch +) + +src_prepare() { + default + eautoreconf + + rm ./lib/mrtg2/{SNMP_{Session,util},BER}.pm || die + + sed -i \ + -e 's|main::SL}lib${main::SL|main::SL}'"$(get_libdir)"'${main::SL|g' \ + $(find bin -type f) contrib/cfgmaker_dlci/cfgmaker_dlci || die +} + +src_install() { + keepdir /var/lib/mrtg + + default + + mv "${ED}"/usr/share/doc/{mrtg2,${PF}} || die + + newinitd "${FILESDIR}/mrtg.rc" ${PN} + newconfd "${FILESDIR}/mrtg.confd" ${PN} +} diff --git a/net-analyzer/mtr/Manifest b/net-analyzer/mtr/Manifest new file mode 100644 index 000000000000..be1771f41b4e --- /dev/null +++ b/net-analyzer/mtr/Manifest @@ -0,0 +1,2 @@ +DIST mtr-0.95.tar.gz 144541 BLAKE2B 3c972675b97945b96562802c5d0f10de963160682c93c0ea2991b72eca33d136d18948c5e746ca3dfb280ebc9c3ab154e7774f8409ed4e5f7470a8feb128e71b SHA512 a7d69e0c551a10ae80a650a34588119e6c6b124a8c2c93d3de29e5daa6ef99f9217d875529d443c3760cd6fd7bd04d1e9abe33ef12635826c66a98bd776c1690 +DIST mtr-0.96.tar.gz 158043 BLAKE2B c7dff18b6f6e48a648783d719a6cedd14b141fe2013b75031f3ee830e8c4fb9c93639259c860047c8108c21519df30740f7515256ed08552f7697a42e938257b SHA512 893c5f4623ba437bca309633ce1911c900e33a51252fce5f68ea8e74885302f744198e5616ba0155b4e09fb34eedba7e41ac4507403dc9d657e295ccf66c7d31 diff --git a/net-analyzer/mtr/files/mtr-0.88-tinfo.patch b/net-analyzer/mtr/files/mtr-0.88-tinfo.patch new file mode 100644 index 000000000000..fb50c7e9a0b3 --- /dev/null +++ b/net-analyzer/mtr/files/mtr-0.88-tinfo.patch @@ -0,0 +1,14 @@ +https://github.com/traviscross/mtr/pull/368 +--- a/configure.ac ++++ b/configure.ac +@@ -101,7 +101,10 @@ + # (On Solaris 11.3, ncurses builds and links for us, but curses does not.) + [AC_SEARCH_LIBS( + [initscr], [ncurses curses], ++ [AC_SEARCH_LIBS( ++ [raw], [ncurses curses cursesX tinfo], + [AC_DEFINE([HAVE_CURSES], [1], [Define if a curses library available])], ++ [with_ncurses=no])], + [with_ncurses=no]) + ]) + AM_CONDITIONAL([WITH_CURSES], [test "x$with_ncurses" = xyes]) diff --git a/net-analyzer/mtr/files/mtr-0.95-fortify-source-3.patch b/net-analyzer/mtr/files/mtr-0.95-fortify-source-3.patch new file mode 100644 index 000000000000..0c3d593915e4 --- /dev/null +++ b/net-analyzer/mtr/files/mtr-0.95-fortify-source-3.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/911389 +https://github.com/traviscross/mtr/pull/468 +https://github.com/traviscross/mtr/commit/a1548b40c0dcf6dd44c5e6906f829e249428436b + +From 5908af4c19188cb17b62f23368b6ef462831a0cb Mon Sep 17 00:00:00 2001 +From: Marcus Meissner <meissner@suse.de> +Date: Tue, 11 Apr 2023 16:05:36 +0200 +Subject: [PATCH] fixed the sizes passed into snprintf + +--- a/ui/report.c ++++ b/ui/report.c +@@ -140,7 +140,7 @@ void report_close( + continue; + + snprintf(fmt, sizeof(fmt), "%%%ds", data_fields[j].length); +- snprintf(buf + len, sizeof(buf), fmt, data_fields[j].title); ++ snprintf(buf + len, sizeof(buf) - len, fmt, data_fields[j].title); + len += data_fields[j].length; + } + printf("%s\n", buf); +@@ -172,10 +172,10 @@ void report_close( + + /* 1000.0 is a temporary hack for stats usec to ms, impacted net_loss. */ + if (strchr(data_fields[j].format, 'f')) { +- snprintf(buf + len, sizeof(buf), data_fields[j].format, ++ snprintf(buf + len, sizeof(buf) - len, data_fields[j].format, + data_fields[j].net_xxx(at) / 1000.0); + } else { +- snprintf(buf + len, sizeof(buf), data_fields[j].format, ++ snprintf(buf + len, sizeof(buf) - len, data_fields[j].format, + data_fields[j].net_xxx(at)); + } + len += data_fields[j].length; + diff --git a/net-analyzer/mtr/files/mtr-0.96-tinfo.patch b/net-analyzer/mtr/files/mtr-0.96-tinfo.patch new file mode 100644 index 000000000000..2992d088b65a --- /dev/null +++ b/net-analyzer/mtr/files/mtr-0.96-tinfo.patch @@ -0,0 +1,15 @@ +Fixed version of https://github.com/traviscross/mtr/pull/368 +Bug: https://bugs.gentoo.org/960013 +--- a/configure.ac ++++ b/configure.ac +@@ -136,7 +136,10 @@ AS_IF([test "x$with_ncurses" = "xyes"], + # (On Solaris 11.3, ncurses builds and links for us, but curses does not.) + [AC_SEARCH_LIBS( + [initscr], [ncursesw ncurses curses], ++ [AC_SEARCH_LIBS( ++ [raw], [ncurses curses cursesX tinfow], + [AC_DEFINE([HAVE_CURSES], [1], [Define if a curses library available])], ++ [with_ncurses=no])], + [with_ncurses=no]) + ]) + AM_CONDITIONAL([WITH_CURSES], [test "x$with_ncurses" = xyes]) diff --git a/net-analyzer/mtr/metadata.xml b/net-analyzer/mtr/metadata.xml new file mode 100644 index 000000000000..389dae8e34f0 --- /dev/null +++ b/net-analyzer/mtr/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="ipinfo">Disable support for IP address lookups</flag> + <flag name="jansson">Enable JSON output support through <pkg>dev-libs/jansson</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/mtr/mtr-0.95-r1.ebuild b/net-analyzer/mtr/mtr-0.95-r1.ebuild new file mode 100644 index 000000000000..d09ef1692203 --- /dev/null +++ b/net-analyzer/mtr/mtr-0.95-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 fcaps + +DESCRIPTION="My TraceRoute, an Excellent network diagnostic tool" +HOMEPAGE="https://www.bitwizard.nl/mtr/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/traviscross/mtr" + inherit git-r3 +else + SRC_URI="https://github.com/traviscross/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gtk +ipinfo +ipv6 jansson ncurses" +# TODO: This is an inherited RESTRICT - figure out why! +RESTRICT="test" + +RDEPEND=" + gtk? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + ) + jansson? ( dev-libs/jansson:= ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( AUTHORS FORMATS NEWS README.md SECURITY TODO ) +FILECAPS=( cap_net_raw usr/sbin/mtr-packet ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.88-tinfo.patch + "${FILESDIR}"/${P}-fortify-source-3.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + econf \ + $(use_enable ipv6) \ + $(use_with gtk) \ + $(use_with ipinfo) \ + $(use_with jansson) \ + $(use_with ncurses) \ + --with-bashcompletiondir="$(get_bashcompdir)" +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "mtr needs root privileges to run. To grant them:" + ewarn " % sudo chown root ${EPREFIX}/usr/sbin/mtr" + ewarn " % sudo chmod u+s ${EPREFIX}/usr/sbin/mtr" + fi +} diff --git a/net-analyzer/mtr/mtr-0.96-r1.ebuild b/net-analyzer/mtr/mtr-0.96-r1.ebuild new file mode 100644 index 000000000000..067147b8dfc7 --- /dev/null +++ b/net-analyzer/mtr/mtr-0.96-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 fcaps + +DESCRIPTION="My TraceRoute, an Excellent network diagnostic tool" +HOMEPAGE="https://www.bitwizard.nl/mtr/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/traviscross/mtr" + inherit git-r3 +else + SRC_URI="https://github.com/traviscross/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gui +ipinfo +ipv6 jansson ncurses" +# Tests timeout even w/o sandbox +RESTRICT="test" + +RDEPEND=" + gui? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + ) + jansson? ( dev-libs/jansson:= ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( AUTHORS FORMATS NEWS README.md SECURITY TODO ) +FILECAPS=( cap_net_raw usr/sbin/mtr-packet ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.96-tinfo.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable ipv6) + $(use_with gui gtk) + $(use_with ipinfo) + $(use_with jansson) + $(use_with ncurses) + --with-bashcompletiondir="$(get_bashcompdir)" + ) + + econf "${myeconfargs[@]}" +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "mtr needs root privileges to run. To grant them:" + ewarn " % sudo chown root ${EPREFIX}/usr/sbin/mtr" + ewarn " % sudo chmod u+s ${EPREFIX}/usr/sbin/mtr" + fi +} diff --git a/net-analyzer/mtr/mtr-9999.ebuild b/net-analyzer/mtr/mtr-9999.ebuild new file mode 100644 index 000000000000..1a69e6d8298f --- /dev/null +++ b/net-analyzer/mtr/mtr-9999.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 fcaps + +DESCRIPTION="My TraceRoute, an Excellent network diagnostic tool" +HOMEPAGE="https://www.bitwizard.nl/mtr/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/traviscross/mtr" + inherit git-r3 +else + SRC_URI="https://github.com/traviscross/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gui +ipinfo +ipv6 jansson ncurses" +# Tests timeout even w/o sandbox +RESTRICT="test" + +RDEPEND=" + gui? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + ) + jansson? ( dev-libs/jansson:= ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( AUTHORS FORMATS NEWS README.md SECURITY TODO ) +FILECAPS=( cap_net_raw usr/sbin/mtr-packet ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.96-tinfo.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable ipv6) + $(use_with gui gtk) + $(use_with ipinfo) + $(use_with jansson) + $(use_with ncurses) + --with-bashcompletiondir="$(get_bashcompdir)" + ) + + econf "${myeconfargs[@]}" +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "mtr needs root privileges to run. To grant them:" + ewarn " % sudo chown root ${EPREFIX}/usr/sbin/mtr" + ewarn " % sudo chmod u+s ${EPREFIX}/usr/sbin/mtr" + fi +} diff --git a/net-analyzer/multimon-ng/Manifest b/net-analyzer/multimon-ng/Manifest new file mode 100644 index 000000000000..a52bf29cdaf9 --- /dev/null +++ b/net-analyzer/multimon-ng/Manifest @@ -0,0 +1 @@ +DIST multimon-ng-1.3.0.tar.gz 2447632 BLAKE2B 6607c53677e746fc22baaca708cffab97bd1a411032e8bd6ec15410571a7c5dfaa92a2ab5d61199859acc8ffa63ee6ac97f54dde966daf4984d62ae1dfedc902 SHA512 1dad367d6de1c84c22523b7bdffff2835de496b2250a6642b6da950f1dc6d64b0c5e8e3ab7729032a8a386740d6c1c64afcd5514e131777df0123e4a29f33827 diff --git a/net-analyzer/multimon-ng/metadata.xml b/net-analyzer/multimon-ng/metadata.xml new file mode 100644 index 000000000000..2945e7153ccb --- /dev/null +++ b/net-analyzer/multimon-ng/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <maintainer type="project"> + <email>radio@gentoo.org</email> + <name>Radio</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:multimon-ng_project:multimon-ng</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/multimon-ng/multimon-ng-1.3.0.ebuild b/net-analyzer/multimon-ng/multimon-ng-1.3.0.ebuild new file mode 100644 index 000000000000..64933423f307 --- /dev/null +++ b/net-analyzer/multimon-ng/multimon-ng-1.3.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="a fork of multimon, decodes multiple digital transmission modes" +HOMEPAGE="https://github.com/EliasOenal/multimon-ng" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/EliasOenal/multimon-ng.git" +else + SRC_URI="https://github.com/EliasOenal/multimonNG/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="pulseaudio X" + +DEPEND="pulseaudio? ( media-libs/libpulse ) + X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND} + media-sound/sox" + +src_prepare() { + use pulseaudio || sed -i '/find_package( PulseAudio )/d' CMakeLists.txt + use X || sed -i '/find_package( X11 )/d' CMakeLists.txt + cmake_src_prepare +} diff --git a/net-analyzer/multimon-ng/multimon-ng-9999.ebuild b/net-analyzer/multimon-ng/multimon-ng-9999.ebuild new file mode 100644 index 000000000000..8144bfe94435 --- /dev/null +++ b/net-analyzer/multimon-ng/multimon-ng-9999.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="a fork of multimon, decodes multiple digital transmission modes" +HOMEPAGE="https://github.com/EliasOenal/multimon-ng" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/EliasOenal/multimon-ng.git" +else + SRC_URI="https://github.com/EliasOenal/multimonNG/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="pulseaudio X" + +DEPEND="pulseaudio? ( media-libs/libpulse ) + X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND} + media-sound/sox" + +src_prepare() { + use pulseaudio || sed -i '/find_package( PulseAudio )/d' CMakeLists.txt + use X || sed -i '/find_package( X11 )/d' CMakeLists.txt + cmake_src_prepare +} diff --git a/net-analyzer/multipath-tcp-tools/Manifest b/net-analyzer/multipath-tcp-tools/Manifest new file mode 100644 index 000000000000..0911f9054218 --- /dev/null +++ b/net-analyzer/multipath-tcp-tools/Manifest @@ -0,0 +1 @@ +DIST multipath-tcp-tools-2018_p12_p21.tar.gz 199660476 BLAKE2B a66274229e42c39c2c2821a02087602c76cd725bf850080db8ac9123b35428eaa2c2696d089ebb097365d912e37068b696b0e4f0afecf71f10625be0e75b055b SHA512 2be083f88d987bd5dd069319aecd427c46c962a24d1573b5dca32ec0a209f0b4ed9564968c0041813f7fa62bf2f0ff4bd1307eb562240687666a5636e807b8c3 diff --git a/net-analyzer/multipath-tcp-tools/metadata.xml b/net-analyzer/multipath-tcp-tools/metadata.xml new file mode 100644 index 000000000000..7f1483fa5be3 --- /dev/null +++ b/net-analyzer/multipath-tcp-tools/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <longdescription> + Contains a collection of applications written in C to help + both analyze and visualize MPTCP packet traces. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-2018_p12_p21-r1.ebuild b/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-2018_p12_p21-r1.ebuild new file mode 100644 index 000000000000..ad249861ca1a --- /dev/null +++ b/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-2018_p12_p21-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Analysis tools for Multipath Transmission Control Protocol (MPTCP)" +HOMEPAGE="https://github.com/nasa/multipath-tcp-tools" +SRC_URI="https://github.com/nasa/multipath-tcp-tools/archive/v${PV//_p/-}.tar.gz -> ${P}.tar.gz" + +LICENSE="NOSA" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + dev-libs/openssl:= + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} +" +S=${WORKDIR}/${P//_p/-}/network-traffic-analysis-tools + +src_prepare() { + sed -i \ + -e 's|/man/man1|/share&|g' \ + -e 's|$(LDLIBS)|$(LDFLAGS) &|g' \ + Makefile || die + + default +} + +src_compile() { + # bug #861179 + append-flags -fno-strict-aliasing + + emake \ + CXX="$(tc-getCXX)" \ + CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake PREFIX="${D}/${EPREFIX}/usr" install + + dodoc README +} diff --git a/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-999999.ebuild b/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-999999.ebuild new file mode 100644 index 000000000000..3178d81adff6 --- /dev/null +++ b/net-analyzer/multipath-tcp-tools/multipath-tcp-tools-999999.ebuild @@ -0,0 +1,46 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit git-r3 flag-o-matic toolchain-funcs + +DESCRIPTION="Analysis tools for Multipath Transmission Control Protocol (MPTCP)" +HOMEPAGE="https://github.com/nasa/multipath-tcp-tools" +EGIT_REPO_URI="https://github.com/nasa/multipath-tcp-tools/" + +LICENSE="NOSA" +SLOT="0" +KEYWORDS="" + +DEPEND=" + dev-libs/openssl:= + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} +" +S=${WORKDIR}/${P}/network-traffic-analysis-tools + +src_prepare() { + sed -i \ + -e 's|/man/man1|/share&|g' \ + -e 's|$(LDLIBS)|$(LDFLAGS) &|g' \ + Makefile || die + + default +} + +src_compile() { + # bug #861179 + append-flags -fno-strict-aliasing + + emake \ + CXX="$(tc-getCXX)" \ + CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake PREFIX="${D}/${EPREFIX}/usr" install + + dodoc README +} diff --git a/net-analyzer/munin-plugins-zfs/Manifest b/net-analyzer/munin-plugins-zfs/Manifest new file mode 100644 index 000000000000..1a92625b81a4 --- /dev/null +++ b/net-analyzer/munin-plugins-zfs/Manifest @@ -0,0 +1 @@ +DIST munin-plugins-zfs-0.20170127.tar.gz 2482 BLAKE2B b861f6c4d43690401b7dd82b4a520832d47028ed7d49a43dc3fe943a5845d23e334845758c5542270315262fa287dc7a1aee220fc936695e1aaba1db8947f6c1 SHA512 9b7842c6945865be058f7c00a5ffcdd8fb8c50aa1775f5196ce25ffc33b527b0c8d5c42aa7dc21ff81fd4aac16c9c1084c31af44192fe64b6a2fbcd2ccc4bbee diff --git a/net-analyzer/munin-plugins-zfs/metadata.xml b/net-analyzer/munin-plugins-zfs/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/munin-plugins-zfs/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/munin-plugins-zfs/munin-plugins-zfs-0.20170127-r1.ebuild b/net-analyzer/munin-plugins-zfs/munin-plugins-zfs-0.20170127-r1.ebuild new file mode 100644 index 000000000000..54b8503c30ee --- /dev/null +++ b/net-analyzer/munin-plugins-zfs/munin-plugins-zfs-0.20170127-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +COMMIT="385f9e4cda592ace95b47c69db76553bcb6a42d6" + +DESCRIPTION="A Munin plugin for monitoring ZFS on Linux" +HOMEPAGE="https://github.com/alexclear/ZoL-munin-plugin" +SRC_URI="https://github.com/alexclear/ZoL-munin-plugin/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S=${WORKDIR}/ZoL-munin-plugin-${COMMIT} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="net-analyzer/munin" +RDEPEND="${DEPEND} + app-alternatives/bc +" + +src_install() { + dodoc README.md + + exeinto /usr/libexec/munin/plugins + doexe zfs_stats_ +} diff --git a/net-analyzer/munin/Manifest b/net-analyzer/munin/Manifest new file mode 100644 index 000000000000..0cfaff703fd3 --- /dev/null +++ b/net-analyzer/munin/Manifest @@ -0,0 +1,2 @@ +DIST munin-2.0.75.tar.gz 2258514 BLAKE2B 689b436913a931c9002757267db236ba4ab1da947552c43ad2b96c2e5b26427499e681d0606d0045cfbbd90b70a69572b8550660a598d672babeba8388feacf5 SHA512 cceb47c27bfb3080980fd6342e805b5b9fecbef7033d6f2a83fe6c78d20f943961c9f1775ef5e464e49c25c9d246606594f2844827b38d34c04016f15dd68613 +DIST munin-2.0.76.tar.gz 2258538 BLAKE2B 74d8d055be52f605b2d0f2551328bd425e9550a7dd86740479f7a6efd9a9d8be7a78b4075fe68a9c658981b2089d6277eb51b758fb8ba341c149117457ab4696 SHA512 e43d8f123cb6bf9a1b99dde4fe93440e256b3950ec1f79923998f83b14530bba24dab87ece1d3e7e5bf3afd645eafa6c1055d1119748e76230cfb29136712086 diff --git a/net-analyzer/munin/files/logrotate.d-munin.3 b/net-analyzer/munin/files/logrotate.d-munin.3 new file mode 100644 index 000000000000..5133c47e8ba1 --- /dev/null +++ b/net-analyzer/munin/files/logrotate.d-munin.3 @@ -0,0 +1,33 @@ +/var/log/munin/munin-node.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 root root + postrotate + test -e /run/openrc/softlevel && /etc/init.d/munin-node restart 1>/dev/null || true + test -e /run/systemd/system && systemctl restart munin-node 1>/dev/null || true + endscript +} + +/var/log/munin/munin-update.log /var/log/munin/munin-graph.log /var/log/munin/munin-html.log /var/log/munin/munin-limits.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + nocreate +} + +/var/log/munin/munin-cgi-graph.log /var/log/munin/munin-cgi-html.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 @CGIUSER@ +} diff --git a/net-analyzer/munin/files/logrotate.d-munin.4 b/net-analyzer/munin/files/logrotate.d-munin.4 new file mode 100644 index 000000000000..8bbb6422620b --- /dev/null +++ b/net-analyzer/munin/files/logrotate.d-munin.4 @@ -0,0 +1,33 @@ +/var/log/munin/munin-node.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 root root + postrotate + test -e /run/openrc/softlevel && /etc/init.d/munin-node restart 1>/dev/null || true + test -e /run/systemd/system && systemctl restart munin-node 1>/dev/null || true + endscript +} + +/var/log/munin/munin-update.log /var/log/munin/munin-graph.log /var/log/munin/munin-html.log /var/log/munin/munin-limits.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + nocreate +} + +/var/log/munin/munin-cgi-graph.log /var/log/munin/munin-cgi-html.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 @CGIUSER@ root +} diff --git a/net-analyzer/munin/files/logrotate.d-munin.5 b/net-analyzer/munin/files/logrotate.d-munin.5 new file mode 100644 index 000000000000..8238d1a56bdf --- /dev/null +++ b/net-analyzer/munin/files/logrotate.d-munin.5 @@ -0,0 +1,33 @@ +/var/log/munin/munin-node.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 root root + postrotate + test -e /run/openrc/softlevel && /etc/init.d/munin-node --ifstarted restart 1>/dev/null || true + test -e /run/systemd/system && systemctl try-restart munin-node 1>/dev/null || true + endscript +} + +/var/log/munin/munin-update.log /var/log/munin/munin-graph.log /var/log/munin/munin-html.log /var/log/munin/munin-limits.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + nocreate +} + +/var/log/munin/munin-cgi-graph.log /var/log/munin/munin-cgi-html.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 @CGIUSER@ root +} diff --git a/net-analyzer/munin/files/munin-1.3.2-plugins.conf b/net-analyzer/munin/files/munin-1.3.2-plugins.conf new file mode 100644 index 000000000000..e85666b77013 --- /dev/null +++ b/net-analyzer/munin/files/munin-1.3.2-plugins.conf @@ -0,0 +1,80 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# +# This file contains configuration options for the plugins. Three +# options are understood by munin-node itself: +# +# user <user> # Set the user to run the plugin as +# group <group> # Set the group to run the plugin as +# command <command> # Run <command> instead of the plugin. %c +# expands to what would normally be run. +# env.<variable> # Sets <variable> in the plugin's environment, see the +# individual plugins to find out which variables they +# care about. +# +# + +[smart_*] +user root +group disk + +# ipmitool and freeipmi need access to the IPMI device nodes, which +# are only readable by root +[ipmi_*] +user root + +[freeipmi_*] +user root + +# Example for a 3ware 8000-series card, with 2 disks +# use /dev/twe0 as the actual device +# and replicate this entry for each drive, increasing the number in -d +#[smart_3ware-0_twe0] +#user root +#group root +#env.smartargs -H -i -c -l error -l selftest -l selective -a -d 3ware,0 +#[smart_3ware-1_twe0] +#user root +#group root +#env.smartargs -H -i -c -l error -l selftest -l selective -a -d 3ware,1 + +[bind9*] +user root + +[iostat*] +user munin +group munin + +[iostat_ios] +user root +group disk + +[vlan*] +user root + +[postfix*] +user root +env.logfile maillog + +[sendmail*] +env.mspqueue /var/spool/clientmqueue + +[mysql*] +#env.mysqlopts -u someuser + +[exim*] +group mail + +[cps*] +user root + +[mailman] +env.logfile /var/lib/mailman/logs/post +env.libdir /var/lib/mailman +env.lister /usr/lib/mailman/bin/list_members + +# More 3ware examples +#[hddtemp_smartctl] +#env.drives twe0_0 twe0_1 hda +#env.type_twe0_0 3ware,0 +#env.type_twe0_1 3ware,1 diff --git a/net-analyzer/munin/files/munin-async.service b/net-analyzer/munin/files/munin-async.service new file mode 100644 index 000000000000..add6d238f456 --- /dev/null +++ b/net-analyzer/munin/files/munin-async.service @@ -0,0 +1,10 @@ +[Unit] +Description=Munin Async Service +After=syslog.target network.target + +[Service] +PIDFile=/run/munin/munin-asyncd.pid +ExecStart=/usr/libexec/munin/munin-asyncd + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/munin/files/munin-asyncd.init.2 b/net-analyzer/munin/files/munin-asyncd.init.2 new file mode 100644 index 000000000000..c9fc267f12ea --- /dev/null +++ b/net-analyzer/munin/files/munin-asyncd.init.2 @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/libexec/munin/munin-asyncd +command_args="--fork" +pidfile="/run/munin-asyncd.pid" +command_background="yes" +command_user="munin-async" + +depend() { + need munin-node + before cron +} + +start_pre() { + checkpath -d -o munin-async:munin -m 0750 /var/spool/munin-async +} + +# vim: filetype=gentoo-init-d: diff --git a/net-analyzer/munin/files/munin-graph.service b/net-analyzer/munin/files/munin-graph.service new file mode 100644 index 000000000000..9aea1da64e95 --- /dev/null +++ b/net-analyzer/munin/files/munin-graph.service @@ -0,0 +1,11 @@ +[Unit] +Description=Munin FastCGI Graph +Requires=munin-graph.socket + +[Service] +User=munin +Group=munin +ExecStart=/usr/libexec/munin/munin-graph +StandardInput=socket +StandardOutput=inherit +StandardError=journal diff --git a/net-analyzer/munin/files/munin-graph.socket b/net-analyzer/munin/files/munin-graph.socket new file mode 100644 index 000000000000..533c709c50ec --- /dev/null +++ b/net-analyzer/munin/files/munin-graph.socket @@ -0,0 +1,8 @@ +[Unit] +Description=Munin FastCGI Graph Socket + +[Socket] +ListenStream=/run/munin/fcgi-graph.sock + +[Install] +WantedBy=sockets.target diff --git a/net-analyzer/munin/files/munin-html.service b/net-analyzer/munin/files/munin-html.service new file mode 100644 index 000000000000..09fdf162722b --- /dev/null +++ b/net-analyzer/munin/files/munin-html.service @@ -0,0 +1,11 @@ +[Unit] +Description=Munin FastCGI HTML +Requires=munin-html.socket + +[Service] +User=munin +Group=munin +ExecStart=/usr/libexec/munin/munin-html +StandardInput=socket +StandardOutput=inherit +StandardError=journal diff --git a/net-analyzer/munin/files/munin-html.socket b/net-analyzer/munin/files/munin-html.socket new file mode 100644 index 000000000000..52fc3c354d33 --- /dev/null +++ b/net-analyzer/munin/files/munin-html.socket @@ -0,0 +1,8 @@ +[Unit] +Description=Munin FastCGI HTML Socket + +[Socket] +ListenStream=/run/munin/fcgi-html.sock + +[Install] +WantedBy=sockets.target diff --git a/net-analyzer/munin/files/munin-node.service b/net-analyzer/munin/files/munin-node.service new file mode 100644 index 000000000000..92c314b6ec33 --- /dev/null +++ b/net-analyzer/munin/files/munin-node.service @@ -0,0 +1,11 @@ +[Unit] +Description=Munin Node Service +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/run/munin-node.pid +ExecStart=/usr/sbin/munin-node + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/munin/files/munin-node_conf.d_1.4.6-r2 b/net-analyzer/munin/files/munin-node_conf.d_1.4.6-r2 new file mode 100644 index 000000000000..79b0e14ef7fd --- /dev/null +++ b/net-analyzer/munin/files/munin-node_conf.d_1.4.6-r2 @@ -0,0 +1,7 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Set to the nice level for daemon +NICE_LEVEL=1 + +# vim: filetype=gentoo-conf-d: diff --git a/net-analyzer/munin/files/munin-node_init.d_2.0.73 b/net-analyzer/munin/files/munin-node_init.d_2.0.73 new file mode 100644 index 000000000000..ef9ff691adeb --- /dev/null +++ b/net-analyzer/munin/files/munin-node_init.d_2.0.73 @@ -0,0 +1,27 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +get_munin_config() { + awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE" +} + +: ${CFGFILE:=/etc/munin/munin-node.conf} + +command=/usr/sbin/munin-node +command_args="--config ${CFGFILE}" +pidfile=$(get_munin_config pid_file) +start_stop_daemon_args="--nicelevel ${NICE_LEVEL:-0} --wait 1500" +extra_started_commands="reload" + +depend() { + config "$CFGFILE" + + before cron + need hostname net + + [ "$(get_munin_config log_file)" = "Sys::Syslog" ] && \ + use logger +} + +# vim: filetype=gentoo-init-d: diff --git a/net-analyzer/munin/files/munin.apache.include-2.4-r1 b/net-analyzer/munin/files/munin.apache.include-2.4-r1 new file mode 100644 index 000000000000..290c2818eb9d --- /dev/null +++ b/net-analyzer/munin/files/munin.apache.include-2.4-r1 @@ -0,0 +1,29 @@ +# -*- apache -*- + +<IfDefine MUNIN_HTML_CGI> +RewriteEngine on + +RewriteRule ^/favicon.ico /static/favicon.ico [L] + +RewriteCond %{REQUEST_URI} (/|\.html)$ +RewriteCond %{REQUEST_URI} !/static +RewriteRule ^/(.*) /munin-cgi/munin-cgi-html/$1 [PT,L] +RewriteRule ^/munin-cgi/munin-cgi-graph/(.*) /$1 +RewriteCond %{REQUEST_URI} !^/static +RewriteRule ^/(.*.png) /munin-cgi/munin-cgi-graph/$1? [L,PT] + +ScriptAlias /munin-cgi/munin-cgi-graph /usr/libexec/munin/cgi/munin-cgi-graph +ScriptAlias /munin-cgi/munin-cgi-html /usr/libexec/munin/cgi/munin-cgi-html +</IfDefine> + +<Directory /usr/libexec/munin/cgi/> + Options +ExecCGI + Require all granted + + <IfModule mod_fcgid.c> + SetHandler fcgid-script + </IfModule> + <IfModule !mod_fcgid.c> + SetHandler cgi-script + </IfModule> +</Directory> diff --git a/net-analyzer/munin/files/patches/0002-build-create-an-install-minimal-target-that-only-ins.patch b/net-analyzer/munin/files/patches/0002-build-create-an-install-minimal-target-that-only-ins.patch new file mode 100644 index 000000000000..fee72bc23ad3 --- /dev/null +++ b/net-analyzer/munin/files/patches/0002-build-create-an-install-minimal-target-that-only-ins.patch @@ -0,0 +1,36 @@ +From 75ae794b1c497a82c4ce8f63c9d016cd11d3c7ba Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Sun, 21 Oct 2012 13:39:21 -0700 +Subject: [PATCH 2/7] build: create an install-minimal target that only + installs the Node components +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is what Gentoo does right now manually, it's easier to maintain +here though, and users might want to do the same if they are +installing from sources, and only want a node. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index cdc3577..c119d38 100644 +--- a/Makefile ++++ b/Makefile +@@ -64,7 +64,9 @@ tags: + + ###################################################################### + +-install: install-master-prime install-common-prime install-node-prime install-plugins-prime $(JAVA_INSTALL) install-man install-async-prime ++install: install-master-prime install-minimal install-man ++ ++install-minimal: install-common-prime install-node-prime install-plugins-prime $(JAVA_INSTALL) install-async-prime + + install-pre: Makefile Makefile.config + @$(CHECKUSER) +-- +2.2.1 + diff --git a/net-analyzer/munin/files/patches/0003-master-make-it-possible-to-configure-the-default-cgi.patch b/net-analyzer/munin/files/patches/0003-master-make-it-possible-to-configure-the-default-cgi.patch new file mode 100644 index 000000000000..63897f552c9a --- /dev/null +++ b/net-analyzer/munin/files/patches/0003-master-make-it-possible-to-configure-the-default-cgi.patch @@ -0,0 +1,113 @@ +From b634d1396bc2fba170b414f09ea07d0de702fdb8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Sun, 4 Nov 2012 11:18:11 -0800 +Subject: [PATCH 3/7] master: make it possible to configure the default cgi-tmp + directory. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows distributions to use, for instance, /var/cache/munin-cgi, +so that /var/lib preserves its designed purpose. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + Makefile | 7 ++++--- + Makefile.config | 3 +++ + common/lib/Munin/Common/Defaults.pm | 2 +- + master/_bin/munin-cgi-graph.in | 2 +- + master/lib/Munin/Master/Config.pm | 2 +- + master/munin.conf.in | 2 +- + 6 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/Makefile b/Makefile +index c119d38..2e30052 100644 +--- a/Makefile ++++ b/Makefile +@@ -87,14 +87,14 @@ install-master-prime: $(INFILES_MASTER) install-pre install-master + mkdir -p $(PERLLIB)/Munin/Master + mkdir -p $(HTMLDIR) + mkdir -p $(DBDIR) +- mkdir -p $(DBDIR)/cgi-tmp ++ mkdir -p $(CGITMPDIR) + mkdir -p $(CGIDIR) + + $(CHOWN) $(USER) $(HTMLDIR) $(DBDIR) + $(CHMOD) 0755 $(DBDIR) + +- $(CHOWN) $(CGIUSER) $(DBDIR)/cgi-tmp +- $(CHMOD) 0755 $(DBDIR)/cgi-tmp ++ $(CHOWN) $(CGIUSER) $(CGITMPDIR) ++ $(CHMOD) 0755 $(CGITMPDIR) + + for p in master/www/*.tmpl ; do \ + $(INSTALL) -m 0644 "$$p" $(CONFDIR)/templates/ ; \ +diff --git a/Makefile.config b/Makefile.config +index f5557ea..4378b60 100644 +--- a/Makefile.config ++++ b/Makefile.config +@@ -44,6 +44,9 @@ CGIDIR = $(PREFIX)/www/cgi + # Where to put internal data for master (RRD, internal files, ...) + DBDIR = $(DESTDIR)/var/opt/munin + ++# Where to put CGI cached files (for master only) ++CGITMPDIR = $(DBDIR)/cgi-tmp ++ + # Where to put internal data for node (plugin state, ...) + DBDIRNODE = $(DESTDIR)/var/opt/munin-node + +diff --git a/common/lib/Munin/Common/Defaults.pm b/common/lib/Munin/Common/Defaults.pm +index 131f52c..787b596 100644 +--- a/common/lib/Munin/Common/Defaults.pm ++++ b/common/lib/Munin/Common/Defaults.pm +@@ -25,7 +25,7 @@ our $MUNIN_DOCDIR = ''; + our $MUNIN_LIBDIR = ''; + our $MUNIN_HTMLDIR = ''; + our $MUNIN_CGIDIR = ''; +-our $MUNIN_CGITMPDIR = ''; ++our $MUNIN_CGITMPDIR = ''; + our $MUNIN_DBDIR = ''; + our $MUNIN_PLUGSTATE = ''; + our $MUNIN_SPOOLDIR = ''; +diff --git a/master/_bin/munin-cgi-graph.in b/master/_bin/munin-cgi-graph.in +index 651cf8c..f5a7ccd 100755 +--- a/master/_bin/munin-cgi-graph.in ++++ b/master/_bin/munin-cgi-graph.in +@@ -337,7 +337,7 @@ sub get_picture_filename { + my $params = shift; + + # XXX - hack to fix cgitmpdir default +- $config->{cgitmpdir} ||= "$Munin::Common::Defaults::MUNIN_DBDIR/cgi-tmp"; ++ $config->{cgitmpdir} ||= "$Munin::Common::Defaults::MUNIN_CGITMPDIR"; + my $cgi_tmp_dir = $config->{cgitmpdir} . "/munin-cgi-graph"; + + $params = $params ? "?$params" : ""; +diff --git a/master/lib/Munin/Master/Config.pm b/master/lib/Munin/Master/Config.pm +index 291ffaf..b5c0813 100644 +--- a/master/lib/Munin/Master/Config.pm 2017-03-03 01:02:39.000000000 +0100 ++++ b/master/lib/Munin/Master/Config.pm 2017-07-18 19:29:44.861742592 +0200 +@@ -161,7 +161,7 @@ + tls_verify_depth => 5, + tmpldir => "$Munin::Common::Defaults::MUNIN_CONFDIR/templates", + staticdir => "$Munin::Common::Defaults::MUNIN_CONFDIR/static", +- cgitmpdir => "$Munin::Common::Defaults::MUNIN_DBDIR/cgi-tmp", ++ cgitmpdir => "$Munin::Common::Defaults::MUNIN_CGITMPDIR", + ssh_command => "ssh", + ssh_options => "-o ChallengeResponseAuthentication=no -o StrictHostKeyChecking=no", + }, $class ), +diff --git a/master/munin.conf.in b/master/munin.conf.in +index 8d1a75f..046f369 100644 +--- a/master/munin.conf.in ++++ b/master/munin.conf.in +@@ -21,7 +21,7 @@ + # temporary cgi files are here. note that it has to be writable by + # the cgi user (usually nobody or httpd). + # +-# cgitmpdir @@DBDIR@@/cgi-tmp ++# cgitmpdir @@CGITMPDIR@@ + + # (Exactly one) directory to include all files from. + includedir @@CONFDIR@@/munin-conf.d +-- +2.2.1 + diff --git a/net-analyzer/munin/files/patches/0005-node-use-Net-Domain-hostfqdn-instead-of-Sys-Hostname.patch b/net-analyzer/munin/files/patches/0005-node-use-Net-Domain-hostfqdn-instead-of-Sys-Hostname.patch new file mode 100644 index 000000000000..214cc4c4e6b8 --- /dev/null +++ b/net-analyzer/munin/files/patches/0005-node-use-Net-Domain-hostfqdn-instead-of-Sys-Hostname.patch @@ -0,0 +1,44 @@ +From e504b83d0db596a39f32227d4c473575e227037a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Sun, 11 Nov 2012 14:38:16 -0800 +Subject: [PATCH 5/7] node: use Net::Domain::hostfqdn instead of + Sys::Hostname::hostname to get the hostname. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This actually makes the test work correctly, but might change the +returned values for some hosts. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + node/lib/Munin/Node/OS.pm | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/node/lib/Munin/Node/OS.pm b/node/lib/Munin/Node/OS.pm +index 31bebac..b8fa58a 100644 +--- a/node/lib/Munin/Node/OS.pm ++++ b/node/lib/Munin/Node/OS.pm +@@ -12,7 +12,7 @@ use Munin::Node::Config; + use Munin::Common::Timeout; + + use POSIX (); +-use Sys::Hostname; ++use Net::Domain qw(hostfqdn); + + sub get_uid { + my ($class, $user) = @_; +@@ -38,9 +38,7 @@ sub _get_xid { + } + + sub get_fq_hostname { +- my $short = Sys::Hostname::hostname(); +- +- return (gethostbyname $short)[0] || $short || "unknown"; ++ return hostfqdn || "unknown"; + } + + sub check_perms_if_paranoid +-- +2.2.1 + diff --git a/net-analyzer/munin/files/patches/0007-node-always-use-the-Effective-UID-not-just-the-UID.patch b/net-analyzer/munin/files/patches/0007-node-always-use-the-Effective-UID-not-just-the-UID.patch new file mode 100644 index 000000000000..07b86e4a9f60 --- /dev/null +++ b/net-analyzer/munin/files/patches/0007-node-always-use-the-Effective-UID-not-just-the-UID.patch @@ -0,0 +1,139 @@ +From 50ca7989a481e31d2434f755812070ac8f4e14c5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Sun, 11 Nov 2012 15:18:51 -0800 +Subject: [PATCH 7/7] node: always use the Effective UID not just the UID. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + common/lib/Munin/Common/Defaults.pm | 6 +++--- + node/t/munin_node_config.t | 12 ++++++------ + node/t/munin_node_os.t | 6 +++--- + node/t/munin_node_service.t | 14 +++++++------- + 4 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/common/lib/Munin/Common/Defaults.pm b/common/lib/Munin/Common/Defaults.pm +index 787b596..0f7f292 100644 +--- a/common/lib/Munin/Common/Defaults.pm ++++ b/common/lib/Munin/Common/Defaults.pm +@@ -32,9 +32,9 @@ our $MUNIN_SPOOLDIR = ''; + our $MUNIN_MANDIR = ''; + our $MUNIN_LOGDIR = "$COMPONENT_ROOT/log/"; + our $MUNIN_STATEDIR = ''; +-our $MUNIN_USER = getpwuid $UID; +-our $MUNIN_GROUP = getgrgid $GID; +-our $MUNIN_PLUGINUSER = getpwuid $UID; ++our $MUNIN_USER = getpwuid $EUID; ++our $MUNIN_GROUP = getgrgid $EGID; ++our $MUNIN_PLUGINUSER = getpwuid $EUID; + our $MUNIN_VERSION = 'svn'; + our $MUNIN_PERL = '/usr/bin/perl'; + our $MUNIN_PERLLIB = ''; +diff --git a/node/t/munin_node_config.t b/node/t/munin_node_config.t +index b8b6564..3d5530f 100644 +--- a/node/t/munin_node_config.t ++++ b/node/t/munin_node_config.t +@@ -43,13 +43,13 @@ isa_ok($conf, 'Munin::Node::Config'); + + ### Default user + { +- my $uname = getpwuid $UID; ++ my $uname = getpwuid $EUID; + + my @res = $conf->_parse_line("default_client_user $uname"); +- is_deeply(\@res, [defuser => $UID], 'Parsing default user name'); ++ is_deeply(\@res, [defuser => $EUID], 'Parsing default user name'); + + @res = $conf->_parse_line("default_client_user $UID"); +- is_deeply(\@res, [defuser => $UID], 'Parsing default user ID'); ++ is_deeply(\@res, [defuser => $EUID], 'Parsing default user ID'); + + eval { $conf->_parse_line("default_client_user xxxyyyzzz") }; + like($@, qr{Default user does not exist}, "Default user exists"); +@@ -184,13 +184,13 @@ isa_ok($conf, 'Munin::Node::Config'); + + ### user + { +- my $uname = getpwuid $UID; ++ my $uname = getpwuid $EUID; + + my @res = $conf->_parse_plugin_line("user $uname"); + is_deeply(\@res, [user => $uname], 'Parsing plugin user name'); + +- @res = $conf->_parse_plugin_line("user $UID"); +- is_deeply(\@res, [user => $UID], 'Parsing plugin user ID'); ++ @res = $conf->_parse_plugin_line("user $EUID"); ++ is_deeply(\@res, [user => $EUID], 'Parsing plugin user ID'); + } + + ### group +diff --git a/node/t/munin_node_os.t b/node/t/munin_node_os.t +index 96d7c74..e10d9e6 100644 +--- a/node/t/munin_node_os.t ++++ b/node/t/munin_node_os.t +@@ -13,10 +13,10 @@ my $os = 'Munin::Node::OS'; + + ### get_uid + { +- my $uname = getpwuid $UID; ++ my $uname = getpwuid $EUID; + +- is($os->get_uid($uname), $UID, 'Lookup by user name'); +- is($os->get_uid($UID), $UID, 'Lookup by user ID'); ++ is($os->get_uid($uname), $EUID, 'Lookup by user name'); ++ is($os->get_uid($EUID), $EUID, 'Lookup by user ID'); + + is($os->get_uid('%%SSKK¤¤'), undef, 'Nonexistent user name'); + is($os->get_uid(999999999), undef, 'Nonexistent user ID'); +diff --git a/node/t/munin_node_service.t b/node/t/munin_node_service.t +index 18bda89..7fa050e 100644 +--- a/node/t/munin_node_service.t ++++ b/node/t/munin_node_service.t +@@ -12,8 +12,8 @@ use Munin::Node::Service; + + use English qw(-no_match_vars); + +-my $uname = getpwuid $UID; +-my $gid = (split / /, $GID)[0]; ++my $uname = getpwuid $EUID; ++my $gid = (split / /, $EGID)[0]; + my $gname = getgrgid $gid; + + +@@ -39,7 +39,7 @@ $config->reinitialize({ + + # testing user resolution + uname => { user => $uname }, +- uid => { user => $UID }, ++ uid => { user => $EUID }, + bad_uname => { user => '%%SSKK¤¤' }, + bad_uid => { user => 999999999 }, + +@@ -155,7 +155,7 @@ $ENV{MUNIN_MASTER_IP} = ''; + + ### export_service_environment + { +- my $services = Munin::Node::Service->new(defuser => $UID); ++ my $services = Munin::Node::Service->new(defuser => $EUID); + + $services->export_service_environment('test'); + is($ENV{test_environment_variable}, 'fnord', 'Service-specific environment is exported'); +@@ -164,10 +164,10 @@ $ENV{MUNIN_MASTER_IP} = ''; + + ### _resolve_uid + { +- my $services = Munin::Node::Service->new(defuser => $UID); ++ my $services = Munin::Node::Service->new(defuser => $EUID); + +- is($services->_resolve_uid('uname'), $UID, 'Lookup by service-specific username'); +- is($services->_resolve_uid('uid'), $UID, 'Lookup by service-specific username'); ++ is($services->_resolve_uid('uname'), $EUID, 'Lookup by service-specific username'); ++ is($services->_resolve_uid('uid'), $EUID, 'Lookup by service-specific username'); + + $services->{defuser} = 0; + +-- +2.2.1 + diff --git a/net-analyzer/munin/files/patches/0009-perl-526.patch b/net-analyzer/munin/files/patches/0009-perl-526.patch new file mode 100644 index 000000000000..d3cabb9906c3 --- /dev/null +++ b/net-analyzer/munin/files/patches/0009-perl-526.patch @@ -0,0 +1,26 @@ + + +diff -ruN munin-2.0.33.orig/master/Build.PL munin-2.0.33/master/Build.PL +--- munin-2.0.33.orig/master/Build.PL 2017-03-03 00:02:39.000000000 -0000 ++++ munin-2.0.33/master/Build.PL 2017-08-05 15:06:55.799816839 -0000 +@@ -1,3 +1,4 @@ ++use lib q[.]; + use MasterBuilder; + + use warnings; +diff -ruN munin-2.0.33.orig/node/Build.PL munin-2.0.33/node/Build.PL +--- munin-2.0.33.orig/node/Build.PL 2017-03-03 00:02:39.000000000 -0000 ++++ munin-2.0.33/node/Build.PL 2017-08-05 15:11:07.689824612 -0000 +@@ -1,3 +1,4 @@ ++use lib q[.]; + use NodeBuilder; + + use warnings; +diff -ruN munin-2.0.33.orig/plugins/Build.PL munin-2.0.33/plugins/Build.PL +--- munin-2.0.33.orig/plugins/Build.PL 2017-03-03 00:02:39.000000000 -0000 ++++ munin-2.0.33/plugins/Build.PL 2017-08-05 15:13:57.056168401 -0000 +@@ -1,3 +1,4 @@ ++use lib q[.]; + use PluginsBuilder; + + use warnings; diff --git a/net-analyzer/munin/metadata.xml b/net-analyzer/munin/metadata.xml new file mode 100644 index 000000000000..a9cb2e9c7d27 --- /dev/null +++ b/net-analyzer/munin/metadata.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <longdescription lang="en"> + Munin the tool surveys all your computers and remembers what it saw. It + presents all the information in in graphs through a web interface. Its + emphasis is on plug and play capabilities. After completing a installation a + high number of monitoring plugins will be playing with no more effort. Using + Munin you can easily monitor the performance of your computers, networks, + SANs, and quite possibly applications as well. It makes it easy to determine + "what's different today" when a performance problem crops up. It makes it + easy to see how you're doing capacity wise on all limited resources. + </longdescription> + <use> + <flag name="mysql"> + Install the packages required for monitoring MySQL. Disabling + the flag does not remove any plugin files. + </flag> + <flag name="postgres"> + Install the packages required for monitoring + PostgreSQL. Disabling the flag does not remove any plugin files. + </flag> + <flag name="asterisk"> + Install the packages required for monitoring Asterisk. Disabling + the flag does not remove any plugin files. + </flag> + <flag name="irc"> + Install the packages required for monitoring IRC. Disabling the + flag does not remove any plugin files. + </flag> + <flag name="memcached"> + Install the packages required for memcached + monitoring. Disabling the flag does not remove any plugin files. + </flag> + <flag name="ipmi"> + Install <pkg>sys-apps/ipmitool</pkg> required for monitoring + IPMI sensors. Disabling the flag does not remove any plugin + file. + </flag> + <flag name="http"> + Install <pkg>dev-perl/libwww-perl</pkg> required for monitoring + HTTP-based services such as Apache and nginx. Disabling the flag + does not remove any plugin file. + </flag> + <flag name="dhcpd"> + Install <pkg>dev-perl/Net-IP</pkg>, + <pkg>dev-perl/HTTP-Date</pkg> and <pkg>net-misc/dhcp</pkg> to + monitor DHCP lease usage. This only works if the server is on + the same system as the node, so the server is also brought + in. Disabling the flag does not remove any plugin file. + </flag> + <flag name="java"> + Build the Java-based plugins to monitor JMX-compatible + applications. Disabling the flag removes the jmx monitoring + plugins. + </flag> + <flag name="minimal"> + Only install munin-node and its plugins. This excludes the + scripts to generate the web pages and the graphs. + </flag> + <flag name="cgi"> + Install the CGI-compatible scripts for on-the-fly generation of + web pages and graphs. This is only meaningful if the minimal USE + flag is disabled. + </flag> + <flag name="ipv6"> + Add support for IPv6 in munin-node. IPv6 support for the master + is always enabled, but the node requires a newer version of + <pkg>dev-perl/Net-Server</pkg>, capable of listening to IPv6 + sockets. + </flag> + <flag name="syslog"> + Configure the node by default to log on syslog. This requires + the presence of <pkg>virtual/perl-Sys-Syslog</pkg>. As of + version 2.0.2, the master scripts only log to file, and not to + syslog. + </flag> + <flag name="doc"> + Build and install a local copy of the HTML documentation for the + whole software. This requires <pkg>dev-python/sphinx</pkg> to + process the documentation sources. + </flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:munin-monitoring:munin</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/munin/munin-2.0.75.ebuild b/net-analyzer/munin/munin-2.0.75.ebuild new file mode 100644 index 000000000000..3506945a8431 --- /dev/null +++ b/net-analyzer/munin/munin-2.0.75.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCHSET=1 + +inherit java-pkg-opt-2 systemd tmpfiles + +MY_P=${P/_/-} + +DESCRIPTION="Munin Server Monitoring Tool" +HOMEPAGE="https://munin-monitoring.org/" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" +RESTRICT="!test? ( test )" + +# Upstream's listing of required modules is NOT correct! +# Some of the postgres plugins use DBD::Pg, while others call psql directly. +# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly. +# We replace the original ipmi plugins with the freeipmi_ plugin which at least works. +DEPEND_COM=" + acct-user/munin + acct-user/munin-async + acct-group/munin + dev-lang/perl:=[berkdb] + dev-perl/DBI + dev-perl/File-Copy-Recursive + dev-perl/List-MoreUtils + dev-perl/Log-Log4perl + dev-perl/Net-CIDR + dev-perl/Net-DNS + dev-perl/Net-Netmask + dev-perl/Net-SNMP + dev-perl/Net-Server[ipv6(-)?] + dev-perl/TimeDate + virtual/perl-Digest-MD5 + virtual/perl-Getopt-Long + virtual/perl-MIME-Base64 + virtual/perl-Storable + virtual/perl-Text-Balanced + virtual/perl-Time-HiRes + apache2? ( www-servers/apache[apache2_modules_cgi,apache2_modules_cgid,apache2_modules_rewrite] ) + asterisk? ( dev-perl/Net-Telnet ) + cgi? ( + dev-perl/FCGI + dev-perl/CGI-Fast + ) + dhcpd? ( + >=net-misc/dhcp-3[server] + dev-perl/Net-IP + dev-perl/HTTP-Date + ) + doc? ( dev-python/sphinx ) + http? ( dev-perl/libwww-perl ) + irc? ( dev-perl/Net-IRC ) + ldap? ( dev-perl/perl-ldap ) + kernel_linux? ( sys-process/procps ) + memcached? ( dev-perl/Cache-Memcached ) + mysql? ( + virtual/mysql + dev-perl/Cache-Cache + dev-perl/DBD-mysql + ) + postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) + ssl? ( dev-perl/Net-SSLeay ) + syslog? ( virtual/perl-Sys-Syslog ) + !minimal? ( + dev-perl/HTML-Template + dev-perl/IO-Socket-INET6 + dev-perl/URI + >=net-analyzer/rrdtool-1.3[graph,perl] + virtual/ssh + ) + " + +# Keep this seperate, as previous versions have had other deps here +DEPEND="${DEPEND_COM} + dev-perl/Module-Build + java? ( >=virtual/jdk-1.8 ) + test? ( + dev-perl/Test-Deep + dev-perl/Test-Exception + dev-perl/Test-LongString + dev-perl/Test-Differences + dev-perl/Test-MockModule + dev-perl/Test-MockObject + dev-perl/File-Slurp + dev-perl/IO-stringy + dev-perl/IO-Socket-INET6 + )" +RDEPEND="${DEPEND_COM} + app-alternatives/awk + ipmi? ( >=sys-libs/freeipmi-1.1.6-r1 ) + java? ( + >=virtual/jre-1.8:* + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + ) + !minimal? ( + virtual/cron + media-fonts/dejavu + ) + selinux? ( sec-policy/selinux-munin )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + echo ${PV} > RELEASE || die + + eapply "${FILESDIR}"/patches/*.patch + + eapply_user + + java-pkg-opt-2_src_prepare +} + +src_configure() { + local cgidir='$(DESTDIR)/usr/libexec/munin/cgi' + use cgi || cgidir="${T}/useless/cgi-bin" + + local cgiuser=$(usex apache2 apache munin) + + cat >> "${S}"/Makefile.config <<- EOF || die + PREFIX=\$(DESTDIR)/usr + CONFDIR=\$(DESTDIR)/etc/munin + DOCDIR=${T}/useless/doc + MANDIR=\$(PREFIX)/share/man + LIBDIR=\$(PREFIX)/libexec/munin + HTMLDIR=\$(DESTDIR)/var/www/localhost/htdocs/munin + CGIDIR=${cgidir} + CGITMPDIR=\$(DESTDIR)/var/cache/munin-cgi + CGIUSER=${cgiuser} + DBDIR=\$(DESTDIR)/var/lib/munin + DBDIRNODE=\$(DESTDIR)/var/lib/munin-node + SPOOLDIR=\$(DESTDIR)/var/spool/munin-async + LOGDIR=\$(DESTDIR)/var/log/munin + PERLLIB=\$(DESTDIR)$(perl -V:vendorlib | cut -d"'" -f2) + JCVALID=$(usex java yes no) + STATEDIR=\$(DESTDIR)/run/munin + EOF +} + +# parallel make and install need to be fixed before, and I haven't +# gotten around to do so yet. +src_compile() { + emake -j1 + use doc && emake -C doc html +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + eerror "You cannot run tests as root." + eerror "Please enable FEATURES=userpriv before proceeding." + return 1 + fi + + local testtargets="test-common test-node test-plugins" + use minimal || testtargets+=" test-master" + + LC_ALL=C emake -j1 ${testtargets} +} + +src_install() { + local cgiuser=$(usex apache2 apache munin) + + local dirs=" + /var/log/munin + /var/lib/munin/plugin-state + /var/lib/munin-node/plugin-state + /var/www/localhost/htdocs/munin + /etc/munin/plugin-conf.d + /etc/munin/plugins" + use minimal || dirs+=" /etc/munin/munin-conf.d/" + + keepdir ${dirs} + fowners munin:munin ${dirs} + + # parallel install doesn't work and it's also pointless to have this + # run in parallel for now (because it uses internal loops). + emake -j1 CHOWN=true DESTDIR="${D}" $(usex minimal "install-minimal install-man" install) + + # we remove /run and /var/cache from the install, as it's not the + # package's to deal with. + rm -rf "${D}"/run "${D}"/var/cache || die + + # remove the plugins for non-Gentoo package managers; use -f so that + # it doesn't fail when installing on non-Linux platforms. + rm -f "${D}"/usr/libexec/munin/plugins/{apt{,_all},yum} || die + + insinto /etc/munin/plugin-conf.d/ + newins "${FILESDIR}"/${PN}-1.3.2-plugins.conf munin-node + + newinitd "${FILESDIR}"/munin-node_init.d_2.0.73 munin-node + newconfd "${FILESDIR}"/munin-node_conf.d_1.4.6-r2 munin-node + + newinitd "${FILESDIR}"/munin-asyncd.init.2 munin-asyncd + + newtmpfiles - ${CATEGORY}:${PN}:${SLOT}.conf <<-EOF || die + d /run/munin 0700 munin munin - - + d /var/cache/munin-cgi 0755 ${cgiuser} munin - - + EOF + + systemd_dounit "${FILESDIR}"/munin-async.service + systemd_dounit "${FILESDIR}"/munin-graph.{service,socket} + systemd_dounit "${FILESDIR}"/munin-html.{service,socket} + systemd_dounit "${FILESDIR}"/munin-node.service + + cat >> "${T}"/munin.env <<- EOF + CONFIG_PROTECT=/var/spool/munin-async/.ssh + EOF + newenvd "${T}"/munin.env 50munin + + dodoc README ChangeLog INSTALL + if use doc; then + cd "${S}"/doc/_build/html || die + docinto html + dodoc -r * + cd "${S}" || die + fi + + dodir /etc/logrotate.d/ + sed -e "s:@CGIUSER@:$(usex apache2 apache munin):g" \ + "${FILESDIR}"/logrotate.d-munin.3 > "${D}"/etc/logrotate.d/munin + + dosym ipmi_ /usr/libexec/munin/plugins/ipmi_sensor_ + + if use syslog; then + sed -i -e '/log_file/s| .*| Sys::Syslog|' \ + "${D}"/etc/munin/munin-node.conf || die + fi + + # Use a simpler pid file to avoid trouble with /run in tmpfs. The + # munin-node service is ran as user root, and only later drops + # privileges. + sed -i -e 's:/run/munin/munin-node.pid:/run/munin-node.pid:' \ + "${D}"/etc/munin/munin-node.conf || die + + keepdir /var/spool/munin-async/.ssh + touch "${D}"/var/spool/munin-async/.ssh/authorized_keys + fowners munin-async:munin /var/spool/munin-async{,/.ssh/{,authorized_keys}} + fperms 0750 /var/spool/munin-async{,/.ssh} + fperms 0600 /var/spool/munin-async/.ssh/authorized_keys + + if use minimal; then + # This requires the presence of munin-update, which is part of + # the non-minimal install... + rm "${D}"/usr/libexec/munin/plugins/munin_stats + else + # remove font files so that we don't have to keep them around + rm "${D}"/usr/libexec/${PN}/*.ttf || die + + if use cgi; then + sed -i -e '/#graph_strategy cgi/s:^#::' "${D}"/etc/munin/munin.conf || die + + touch "${D}"/var/log/munin/munin-cgi-{graph,html}.log + fowners $(usex apache2 apache munin) \ + /var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + insinto /etc/apache2/vhosts.d + newins "${FILESDIR}"/munin.apache.include-2.4-r1 munin-2.4.include + fi + else + sed \ + -e '/#graph_strategy cgi/s:#graph_strategy cgi:graph_strategy cron:' \ + -i "${D}"/etc/munin/munin.conf || die + fi + + keepdir /var/lib/munin/.ssh + cat >> "${D}"/var/lib/munin/.ssh/config <<- EOF + IdentityFile /var/lib/munin/.ssh/id_ecdsa + IdentityFile /var/lib/munin/.ssh/id_rsa + EOF + + fowners munin:munin /var/lib/munin/.ssh/{,config} + fperms go-rwx /var/lib/munin/.ssh/{,config} + + dodir /usr/share/${PN} + cat >> "${D}"/usr/share/${PN}/crontab <<- EOF + # Force the shell to bash + SHELL=/bin/bash + # Mail reports to root@, not munin@ + MAILTO=root + + # This runs the munin task every 5 minutes. + */5 * * * * /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #*/1 * * * * /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #*/2 * * * * /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #*/5 * * * * nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #*/15 * * * * nice /usr/libexec/munin/munin-html + EOF + + cat >> "${D}"/usr/share/${PN}/fcrontab <<- EOF + # Mail reports to root@, not munin@, only execute one at a time + !mailto(root),serial(true) + + # This runs the munin task every 5 minutes. + @ 5 /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #@ 1 /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #@ 2 /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #@ 5 nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #@ 15 nice /usr/libexec/munin/munin-html + EOF + + # remove .htaccess file + find "${D}" -name .htaccess -delete || die + fi +} + +pkg_config() { + if use minimal; then + einfo "Nothing to do." + return 0 + fi + + einfo "Press enter to install the default crontab for the munin master" + einfo "installation from /usr/share/${PN}/f?crontab" + einfo "If you have a large site, you may wish to customize it." + read + + ebegin "Setting up cron ..." + if has_version sys-process/fcron; then + fcrontab - -u munin < /usr/share/${PN}/fcrontab + else + # dcron is very fussy about syntax + # the following is the only form that works in BOTH dcron and vixie-cron + crontab - -u munin < /usr/share/${PN}/crontab + fi + eend $? + + einfo "Press enter to set up the SSH keys used for SSH transport" + read + + # generate one rsa (for legacy) and one ecdsa (for new systems) + ssh-keygen -t rsa \ + -f /var/lib/munin/.ssh/id_rsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + ssh-keygen -t ecdsa \ + -f /var/lib/munin/.ssh/id_ecdsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + chown -R munin:munin /var/lib/munin/.ssh || die + chmod 0600 /var/lib/munin/.ssh/id_{rsa,ecdsa} || die + + einfo "Your public keys are available in " + einfo " /var/lib/munin/.ssh/id_rsa.pub" + einfo " /var/lib/munin/.ssh/id_ecdsa.pub" + einfo "and follows for convenience" + echo + cat /var/lib/munin/.ssh/id_*.pub +} + +pkg_postinst() { + tmpfiles_process ${CATEGORY}:${PN}:${SLOT}.conf + + elog "Please follow the munin documentation to set up the plugins you" + elog "need, afterwards start munin-node." + elog "" + elog "To make use of munin-async, make sure to set up the corresponding" + elog "SSH key in /var/lib/munin-async/.ssh/authorized_keys" + elog "" + if ! use minimal; then + elog "Please run" + elog " emerge --config net-analyzer/munin" + elog "to automatically configure munin's cronjobs as well as generate" + elog "passwordless SSH keys to be used with munin-async." + fi + elog "" + elog "Further information about setting up Munin in Gentoo can be found" + elog "in the Gentoo Wiki: https://wiki.gentoo.org/wiki/Munin" + + if use cgi; then + chown $(usex apache2 apache munin) \ + "${ROOT}"/var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + elog "To use Munin with CGI you should include" + elog "/etc/apache2/vhosts.d/munin-2.4.include from the virtual" + elog "host you want it to be served." + elog "If you want to enable CGI-based HTML as well, you have to add to" + elog "/etc/conf.d/apache2 the option -D MUNIN_HTML_CGI." + else + elog "Effective CGI support has just been added in 2.0.7-r6." + elog "Documentation on how to use it is still sparse." + fi + fi + + # we create this here as we don't want Portage to check /run + # symlinks but we still need this to be present before the reboot. + if ! use minimal && ! [[ -d "${ROOT}"/run/munin ]]; then + mkdir "${ROOT}"/run/munin + chown munin:munin "${ROOT}"/run/munin + chmod 0700 "${ROOT}"/run/munin + fi +} diff --git a/net-analyzer/munin/munin-2.0.76-r2.ebuild b/net-analyzer/munin/munin-2.0.76-r2.ebuild new file mode 100644 index 000000000000..3d4f08b69bb1 --- /dev/null +++ b/net-analyzer/munin/munin-2.0.76-r2.ebuild @@ -0,0 +1,418 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCHSET=1 + +inherit java-pkg-opt-2 systemd tmpfiles + +MY_P=${P/_/-} + +DESCRIPTION="Munin Server Monitoring Tool" +HOMEPAGE="https://munin-monitoring.org/" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" +RESTRICT="!test? ( test )" + +# Upstream's listing of required modules is NOT correct! +# Some of the postgres plugins use DBD::Pg, while others call psql directly. +# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly. +# We replace the original ipmi plugins with the freeipmi_ plugin which at least works. +DEPEND_COM=" + acct-user/munin + acct-user/munin-async + acct-group/munin + dev-lang/perl:=[berkdb] + dev-perl/DBI + dev-perl/File-Copy-Recursive + dev-perl/List-MoreUtils + dev-perl/Log-Log4perl + dev-perl/Net-CIDR + dev-perl/Net-DNS + dev-perl/Net-Netmask + dev-perl/Net-SNMP + dev-perl/Net-Server[ipv6(-)?] + dev-perl/TimeDate + virtual/perl-Digest-MD5 + virtual/perl-Getopt-Long + virtual/perl-MIME-Base64 + virtual/perl-Storable + virtual/perl-Text-Balanced + virtual/perl-Time-HiRes + apache2? ( www-servers/apache[apache2_modules_cgi,apache2_modules_cgid,apache2_modules_rewrite] ) + asterisk? ( dev-perl/Net-Telnet ) + cgi? ( + dev-perl/FCGI + dev-perl/CGI-Fast + ) + dhcpd? ( + >=net-misc/dhcp-3[server] + dev-perl/Net-IP + dev-perl/HTTP-Date + ) + doc? ( dev-python/sphinx ) + http? ( dev-perl/libwww-perl ) + irc? ( dev-perl/Net-IRC ) + ldap? ( dev-perl/perl-ldap ) + kernel_linux? ( sys-process/procps ) + memcached? ( dev-perl/Cache-Memcached ) + mysql? ( + virtual/mysql + dev-perl/Cache-Cache + dev-perl/DBD-mysql + ) + postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) + ssl? ( dev-perl/Net-SSLeay ) + syslog? ( virtual/perl-Sys-Syslog ) + !minimal? ( + dev-perl/HTML-Template + dev-perl/IO-Socket-INET6 + dev-perl/URI + >=net-analyzer/rrdtool-1.3[graph,perl] + virtual/ssh + ) + " + +# Keep this seperate, as previous versions have had other deps here +DEPEND="${DEPEND_COM} + dev-perl/Module-Build + java? ( >=virtual/jdk-1.8 ) + test? ( + dev-perl/Test-Deep + dev-perl/Test-Exception + dev-perl/Test-LongString + dev-perl/Test-Differences + dev-perl/Test-MockModule + dev-perl/Test-MockObject + dev-perl/File-Slurp + dev-perl/IO-stringy + dev-perl/IO-Socket-INET6 + )" +RDEPEND="${DEPEND_COM} + app-alternatives/awk + ipmi? ( >=sys-libs/freeipmi-1.1.6-r1 ) + java? ( + >=virtual/jre-1.8:* + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + ) + !minimal? ( + virtual/cron + media-fonts/dejavu + ) + selinux? ( sec-policy/selinux-munin )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + echo ${PV} > RELEASE || die + + eapply "${FILESDIR}"/patches/*.patch + + eapply_user + + java-pkg-opt-2_src_prepare +} + +src_configure() { + local cgidir='$(DESTDIR)/usr/libexec/munin/cgi' + use cgi || cgidir="${T}/useless/cgi-bin" + + local cgiuser=$(usex apache2 apache munin) + + cat >> "${S}"/Makefile.config <<- EOF || die + PREFIX=\$(DESTDIR)/usr + CONFDIR=\$(DESTDIR)/etc/munin + DOCDIR=${T}/useless/doc + MANDIR=\$(PREFIX)/share/man + LIBDIR=\$(PREFIX)/libexec/munin + HTMLDIR=\$(DESTDIR)/var/www/localhost/htdocs/munin + CGIDIR=${cgidir} + CGITMPDIR=\$(DESTDIR)/var/cache/munin-cgi + CGIUSER=${cgiuser} + DBDIR=\$(DESTDIR)/var/lib/munin + DBDIRNODE=\$(DESTDIR)/var/lib/munin-node + SPOOLDIR=\$(DESTDIR)/var/spool/munin-async + LOGDIR=\$(DESTDIR)/var/log/munin + PERLLIB=\$(DESTDIR)$(perl -V:vendorlib | cut -d"'" -f2) + JCVALID=$(usex java yes no) + JFLAGS=-Xlint + STATEDIR=\$(DESTDIR)/run/munin + EOF +} + +# parallel make and install need to be fixed before, and I haven't +# gotten around to do so yet. +src_compile() { + emake -j1 + use doc && emake -C doc html +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + eerror "You cannot run tests as root." + eerror "Please enable FEATURES=userpriv before proceeding." + return 1 + fi + + local testtargets="test-common test-node test-plugins" + use minimal || testtargets+=" test-master" + + LC_ALL=C emake -j1 ${testtargets} +} + +src_install() { + local cgiuser=$(usex apache2 apache munin) + + local dirs=" + /var/log/munin + /var/lib/munin/plugin-state + /var/lib/munin-node/plugin-state + /var/www/localhost/htdocs/munin + /etc/munin/plugin-conf.d + /etc/munin/plugins" + use minimal || dirs+=" /etc/munin/munin-conf.d/" + + keepdir ${dirs} + fowners munin:munin ${dirs} + + # parallel install doesn't work and it's also pointless to have this + # run in parallel for now (because it uses internal loops). + emake -j1 CHOWN=true DESTDIR="${D}" $(usex minimal "install-minimal install-man" install) + + # we remove /run and /var/cache from the install, as it's not the + # package's to deal with. + rm -rf "${D}"/run "${D}"/var/cache || die + + # remove the plugins for non-Gentoo package managers; use -f so that + # it doesn't fail when installing on non-Linux platforms. + rm -f "${D}"/usr/libexec/munin/plugins/{apt{,_all},yum} || die + + insinto /etc/munin/plugin-conf.d/ + newins "${FILESDIR}"/${PN}-1.3.2-plugins.conf munin-node + + newinitd "${FILESDIR}"/munin-node_init.d_2.0.73 munin-node + newconfd "${FILESDIR}"/munin-node_conf.d_1.4.6-r2 munin-node + + newinitd "${FILESDIR}"/munin-asyncd.init.2 munin-asyncd + + newtmpfiles - ${CATEGORY}:${PN}:${SLOT}.conf <<-EOF || die + d /run/munin 0700 munin munin - - + d /var/cache/munin-cgi 0755 ${cgiuser} munin - - + EOF + + systemd_dounit "${FILESDIR}"/munin-async.service + systemd_dounit "${FILESDIR}"/munin-graph.{service,socket} + systemd_dounit "${FILESDIR}"/munin-html.{service,socket} + systemd_dounit "${FILESDIR}"/munin-node.service + + cat >> "${T}"/munin.env <<- EOF + CONFIG_PROTECT=/var/spool/munin-async/.ssh + EOF + newenvd "${T}"/munin.env 50munin + + dodoc README ChangeLog INSTALL + if use doc; then + cd "${S}"/doc/_build/html || die + docinto html + dodoc -r * + cd "${S}" || die + fi + + dodir /etc/logrotate.d/ + sed -e "s:@CGIUSER@:$(usex apache2 apache munin):g" \ + "${FILESDIR}"/logrotate.d-munin.4 > "${D}"/etc/logrotate.d/munin + + dosym ipmi_ /usr/libexec/munin/plugins/ipmi_sensor_ + + if use syslog; then + sed -i -e '/log_file/s| .*| Sys::Syslog|' \ + "${D}"/etc/munin/munin-node.conf || die + fi + + # Use a simpler pid file to avoid trouble with /run in tmpfs. The + # munin-node service is ran as user root, and only later drops + # privileges. + sed -i -e 's:/run/munin/munin-node.pid:/run/munin-node.pid:' \ + "${D}"/etc/munin/munin-node.conf || die + + keepdir /var/spool/munin-async/.ssh + touch "${D}"/var/spool/munin-async/.ssh/authorized_keys + fowners munin-async:munin /var/spool/munin-async{,/.ssh/{,authorized_keys}} + fperms 0750 /var/spool/munin-async{,/.ssh} + fperms 0600 /var/spool/munin-async/.ssh/authorized_keys + + if use minimal; then + # This requires the presence of munin-update, which is part of + # the non-minimal install... + rm "${D}"/usr/libexec/munin/plugins/munin_stats + else + # remove font files so that we don't have to keep them around + rm "${D}"/usr/libexec/${PN}/*.ttf || die + + if use cgi; then + sed -i -e '/#graph_strategy cgi/s:^#::' "${D}"/etc/munin/munin.conf || die + + touch "${D}"/var/log/munin/munin-cgi-{graph,html}.log + fowners $(usex apache2 apache munin) \ + /var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + insinto /etc/apache2/vhosts.d + newins "${FILESDIR}"/munin.apache.include-2.4-r1 munin-2.4.include + fi + else + sed \ + -e '/#graph_strategy cgi/s:#graph_strategy cgi:graph_strategy cron:' \ + -i "${D}"/etc/munin/munin.conf || die + fi + + keepdir /var/lib/munin/.ssh + cat >> "${D}"/var/lib/munin/.ssh/config <<- EOF + IdentityFile /var/lib/munin/.ssh/id_ecdsa + IdentityFile /var/lib/munin/.ssh/id_rsa + EOF + + fowners munin:munin /var/lib/munin/.ssh/{,config} + fperms go-rwx /var/lib/munin/.ssh/{,config} + + dodir /usr/share/${PN} + cat >> "${D}"/usr/share/${PN}/crontab <<- EOF + # Force the shell to bash + SHELL=/bin/bash + # Mail reports to root@, not munin@ + MAILTO=root + + # This runs the munin task every 5 minutes. + */5 * * * * /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #*/1 * * * * /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #*/2 * * * * /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #*/5 * * * * nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #*/15 * * * * nice /usr/libexec/munin/munin-html + EOF + + cat >> "${D}"/usr/share/${PN}/fcrontab <<- EOF + # Mail reports to root@, not munin@, only execute one at a time + !mailto(root),serial(true) + + # This runs the munin task every 5 minutes. + @ 5 /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #@ 1 /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #@ 2 /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #@ 5 nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #@ 15 nice /usr/libexec/munin/munin-html + EOF + + # remove .htaccess file + find "${D}" -name .htaccess -delete || die + fi +} + +pkg_config() { + if use minimal; then + einfo "Nothing to do." + return 0 + fi + + einfo "Press enter to install the default crontab for the munin master" + einfo "installation from /usr/share/${PN}/f?crontab" + einfo "If you have a large site, you may wish to customize it." + read + + ebegin "Setting up cron ..." + if has_version sys-process/fcron; then + fcrontab - -u munin < /usr/share/${PN}/fcrontab + else + # dcron is very fussy about syntax + # the following is the only form that works in BOTH dcron and vixie-cron + crontab - -u munin < /usr/share/${PN}/crontab + fi + eend $? + + einfo "Press enter to set up the SSH keys used for SSH transport" + read + + # generate one rsa (for legacy) and one ecdsa (for new systems) + ssh-keygen -t rsa \ + -f /var/lib/munin/.ssh/id_rsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + ssh-keygen -t ecdsa \ + -f /var/lib/munin/.ssh/id_ecdsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + chown -R munin:munin /var/lib/munin/.ssh || die + chmod 0600 /var/lib/munin/.ssh/id_{rsa,ecdsa} || die + + einfo "Your public keys are available in " + einfo " /var/lib/munin/.ssh/id_rsa.pub" + einfo " /var/lib/munin/.ssh/id_ecdsa.pub" + einfo "and follows for convenience" + echo + cat /var/lib/munin/.ssh/id_*.pub +} + +pkg_postinst() { + tmpfiles_process ${CATEGORY}:${PN}:${SLOT}.conf + + elog "Please follow the munin documentation to set up the plugins you" + elog "need, afterwards start munin-node." + elog "" + elog "To make use of munin-async, make sure to set up the corresponding" + elog "SSH key in /var/lib/munin-async/.ssh/authorized_keys" + elog "" + if ! use minimal; then + elog "Please run" + elog " emerge --config net-analyzer/munin" + elog "to automatically configure munin's cronjobs as well as generate" + elog "passwordless SSH keys to be used with munin-async." + fi + elog "" + elog "Further information about setting up Munin in Gentoo can be found" + elog "in the Gentoo Wiki: https://wiki.gentoo.org/wiki/Munin" + + if use cgi; then + chown $(usex apache2 apache munin) \ + "${ROOT}"/var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + elog "To use Munin with CGI you should include" + elog "/etc/apache2/vhosts.d/munin-2.4.include from the virtual" + elog "host you want it to be served." + elog "If you want to enable CGI-based HTML as well, you have to add to" + elog "/etc/conf.d/apache2 the option -D MUNIN_HTML_CGI." + else + elog "Effective CGI support has just been added in 2.0.7-r6." + elog "Documentation on how to use it is still sparse." + fi + fi + + # we create this here as we don't want Portage to check /run + # symlinks but we still need this to be present before the reboot. + if ! use minimal && ! [[ -d "${ROOT}"/run/munin ]]; then + mkdir "${ROOT}"/run/munin + chown munin:munin "${ROOT}"/run/munin + chmod 0700 "${ROOT}"/run/munin + fi +} diff --git a/net-analyzer/munin/munin-2.0.76-r3.ebuild b/net-analyzer/munin/munin-2.0.76-r3.ebuild new file mode 100644 index 000000000000..fcef4b96122f --- /dev/null +++ b/net-analyzer/munin/munin-2.0.76-r3.ebuild @@ -0,0 +1,418 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCHSET=1 + +inherit java-pkg-opt-2 systemd tmpfiles + +MY_P=${P/_/-} + +DESCRIPTION="Munin Server Monitoring Tool" +HOMEPAGE="https://munin-monitoring.org/" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" + +# Upstream's listing of required modules is NOT correct! +# Some of the postgres plugins use DBD::Pg, while others call psql directly. +# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly. +# We replace the original ipmi plugins with the freeipmi_ plugin which at least works. +DEPEND_COM=" + acct-user/munin + acct-user/munin-async + acct-group/munin + dev-lang/perl:=[berkdb] + dev-perl/DBI + dev-perl/File-Copy-Recursive + dev-perl/List-MoreUtils + dev-perl/Log-Log4perl + dev-perl/Net-CIDR + dev-perl/Net-DNS + dev-perl/Net-Netmask + dev-perl/Net-SNMP + dev-perl/Net-Server[ipv6(-)?] + dev-perl/TimeDate + virtual/perl-Digest-MD5 + virtual/perl-Getopt-Long + virtual/perl-MIME-Base64 + virtual/perl-Storable + virtual/perl-Text-Balanced + virtual/perl-Time-HiRes + apache2? ( www-servers/apache[apache2_modules_cgi,apache2_modules_cgid,apache2_modules_rewrite] ) + asterisk? ( dev-perl/Net-Telnet ) + cgi? ( + dev-perl/FCGI + dev-perl/CGI-Fast + ) + dhcpd? ( + >=net-misc/dhcp-3[server] + dev-perl/Net-IP + dev-perl/HTTP-Date + ) + doc? ( dev-python/sphinx ) + http? ( dev-perl/libwww-perl ) + irc? ( dev-perl/Net-IRC ) + ldap? ( dev-perl/perl-ldap ) + kernel_linux? ( sys-process/procps ) + memcached? ( dev-perl/Cache-Memcached ) + mysql? ( + virtual/mysql + dev-perl/Cache-Cache + dev-perl/DBD-mysql + ) + postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) + ssl? ( dev-perl/Net-SSLeay ) + syslog? ( virtual/perl-Sys-Syslog ) + !minimal? ( + dev-perl/HTML-Template + dev-perl/IO-Socket-INET6 + dev-perl/URI + >=net-analyzer/rrdtool-1.3[graph,perl] + virtual/ssh + ) + " + +# Keep this seperate, as previous versions have had other deps here +DEPEND="${DEPEND_COM} + dev-perl/Module-Build + java? ( >=virtual/jdk-1.8 ) + test? ( + dev-perl/Test-Deep + dev-perl/Test-Exception + dev-perl/Test-LongString + dev-perl/Test-Differences + dev-perl/Test-MockModule + dev-perl/Test-MockObject + dev-perl/File-Slurp + dev-perl/IO-stringy + dev-perl/IO-Socket-INET6 + )" +RDEPEND="${DEPEND_COM} + app-alternatives/awk + ipmi? ( >=sys-libs/freeipmi-1.1.6-r1 ) + java? ( + >=virtual/jre-1.8:* + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + ) + !minimal? ( + virtual/cron + media-fonts/dejavu + ) + selinux? ( sec-policy/selinux-munin )" + +S="${WORKDIR}/${MY_P}" +RESTRICT="!test? ( test )" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + echo ${PV} > RELEASE || die + + eapply "${FILESDIR}"/patches/*.patch + + eapply_user + + java-pkg-opt-2_src_prepare +} + +src_configure() { + local cgidir='$(DESTDIR)/usr/libexec/munin/cgi' + use cgi || cgidir="${T}/useless/cgi-bin" + + local cgiuser=$(usex apache2 apache munin) + + cat >> "${S}"/Makefile.config <<- EOF || die + PREFIX=\$(DESTDIR)/usr + CONFDIR=\$(DESTDIR)/etc/munin + DOCDIR=${T}/useless/doc + MANDIR=\$(PREFIX)/share/man + LIBDIR=\$(PREFIX)/libexec/munin + HTMLDIR=\$(DESTDIR)/var/www/localhost/htdocs/munin + CGIDIR=${cgidir} + CGITMPDIR=\$(DESTDIR)/var/cache/munin-cgi + CGIUSER=${cgiuser} + DBDIR=\$(DESTDIR)/var/lib/munin + DBDIRNODE=\$(DESTDIR)/var/lib/munin-node + SPOOLDIR=\$(DESTDIR)/var/spool/munin-async + LOGDIR=\$(DESTDIR)/var/log/munin + PERLLIB=\$(DESTDIR)$(perl -V:vendorlib | cut -d"'" -f2) + JCVALID=$(usex java yes no) + JFLAGS=-Xlint + STATEDIR=\$(DESTDIR)/run/munin + EOF +} + +# parallel make and install need to be fixed before, and I haven't +# gotten around to do so yet. +src_compile() { + emake -j1 + use doc && emake -C doc html +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + eerror "You cannot run tests as root." + eerror "Please enable FEATURES=userpriv before proceeding." + return 1 + fi + + local testtargets="test-common test-node test-plugins" + use minimal || testtargets+=" test-master" + + LC_ALL=C emake -j1 ${testtargets} +} + +src_install() { + local cgiuser=$(usex apache2 apache munin) + + local dirs=" + /var/log/munin + /var/lib/munin/plugin-state + /var/lib/munin-node/plugin-state + /var/www/localhost/htdocs/munin + /etc/munin/plugin-conf.d + /etc/munin/plugins" + use minimal || dirs+=" /etc/munin/munin-conf.d/" + + keepdir ${dirs} + fowners munin:munin ${dirs} + + # parallel install doesn't work and it's also pointless to have this + # run in parallel for now (because it uses internal loops). + emake -j1 CHOWN=true DESTDIR="${D}" $(usex minimal "install-minimal install-man" install) + + # we remove /run and /var/cache from the install, as it's not the + # package's to deal with. + rm -rf "${D}"/run "${D}"/var/cache || die + + # remove the plugins for non-Gentoo package managers; use -f so that + # it doesn't fail when installing on non-Linux platforms. + rm -f "${D}"/usr/libexec/munin/plugins/{apt{,_all},yum} || die + + insinto /etc/munin/plugin-conf.d/ + newins "${FILESDIR}"/${PN}-1.3.2-plugins.conf munin-node + + newinitd "${FILESDIR}"/munin-node_init.d_2.0.73 munin-node + newconfd "${FILESDIR}"/munin-node_conf.d_1.4.6-r2 munin-node + + newinitd "${FILESDIR}"/munin-asyncd.init.2 munin-asyncd + + newtmpfiles - ${CATEGORY}:${PN}:${SLOT}.conf <<-EOF || die + d /run/munin 0700 munin munin - - + d /var/cache/munin-cgi 0755 ${cgiuser} munin - - + EOF + + systemd_dounit "${FILESDIR}"/munin-async.service + systemd_dounit "${FILESDIR}"/munin-graph.{service,socket} + systemd_dounit "${FILESDIR}"/munin-html.{service,socket} + systemd_dounit "${FILESDIR}"/munin-node.service + + cat >> "${T}"/munin.env <<- EOF + CONFIG_PROTECT=/var/spool/munin-async/.ssh + EOF + newenvd "${T}"/munin.env 50munin + + dodoc README ChangeLog INSTALL + if use doc; then + cd "${S}"/doc/_build/html || die + docinto html + dodoc -r * + cd "${S}" || die + fi + + dodir /etc/logrotate.d/ + sed -e "s:@CGIUSER@:$(usex apache2 apache munin):g" \ + "${FILESDIR}"/logrotate.d-munin.5 > "${D}"/etc/logrotate.d/munin + + dosym ipmi_ /usr/libexec/munin/plugins/ipmi_sensor_ + + if use syslog; then + sed -i -e '/log_file/s| .*| Sys::Syslog|' \ + "${D}"/etc/munin/munin-node.conf || die + fi + + # Use a simpler pid file to avoid trouble with /run in tmpfs. The + # munin-node service is ran as user root, and only later drops + # privileges. + sed -i -e 's:/run/munin/munin-node.pid:/run/munin-node.pid:' \ + "${D}"/etc/munin/munin-node.conf || die + + keepdir /var/spool/munin-async/.ssh + touch "${D}"/var/spool/munin-async/.ssh/authorized_keys + fowners munin-async:munin /var/spool/munin-async{,/.ssh/{,authorized_keys}} + fperms 0750 /var/spool/munin-async{,/.ssh} + fperms 0600 /var/spool/munin-async/.ssh/authorized_keys + + if use minimal; then + # This requires the presence of munin-update, which is part of + # the non-minimal install... + rm "${D}"/usr/libexec/munin/plugins/munin_stats + else + # remove font files so that we don't have to keep them around + rm "${D}"/usr/libexec/${PN}/*.ttf || die + + if use cgi; then + sed -i -e '/#graph_strategy cgi/s:^#::' "${D}"/etc/munin/munin.conf || die + + touch "${D}"/var/log/munin/munin-cgi-{graph,html}.log + fowners $(usex apache2 apache munin) \ + /var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + insinto /etc/apache2/vhosts.d + newins "${FILESDIR}"/munin.apache.include-2.4-r1 munin-2.4.include + fi + else + sed \ + -e '/#graph_strategy cgi/s:#graph_strategy cgi:graph_strategy cron:' \ + -i "${D}"/etc/munin/munin.conf || die + fi + + keepdir /var/lib/munin/.ssh + cat >> "${D}"/var/lib/munin/.ssh/config <<- EOF + IdentityFile /var/lib/munin/.ssh/id_ecdsa + IdentityFile /var/lib/munin/.ssh/id_rsa + EOF + + fowners munin:munin /var/lib/munin/.ssh/{,config} + fperms go-rwx /var/lib/munin/.ssh/{,config} + + dodir /usr/share/${PN} + cat >> "${D}"/usr/share/${PN}/crontab <<- EOF + # Force the shell to bash + SHELL=/bin/bash + # Mail reports to root@, not munin@ + MAILTO=root + + # This runs the munin task every 5 minutes. + */5 * * * * /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #*/1 * * * * /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #*/2 * * * * /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #*/5 * * * * nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #*/15 * * * * nice /usr/libexec/munin/munin-html + EOF + + cat >> "${D}"/usr/share/${PN}/fcrontab <<- EOF + # Mail reports to root@, not munin@, only execute one at a time + !mailto(root),serial(true) + + # This runs the munin task every 5 minutes. + @ 5 /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #@ 1 /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #@ 2 /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #@ 5 nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #@ 15 nice /usr/libexec/munin/munin-html + EOF + + # remove .htaccess file + find "${D}" -name .htaccess -delete || die + fi +} + +pkg_config() { + if use minimal; then + einfo "Nothing to do." + return 0 + fi + + einfo "Press enter to install the default crontab for the munin master" + einfo "installation from /usr/share/${PN}/f?crontab" + einfo "If you have a large site, you may wish to customize it." + read + + ebegin "Setting up cron ..." + if has_version sys-process/fcron; then + fcrontab - -u munin < /usr/share/${PN}/fcrontab + else + # dcron is very fussy about syntax + # the following is the only form that works in BOTH dcron and vixie-cron + crontab - -u munin < /usr/share/${PN}/crontab + fi + eend $? + + einfo "Press enter to set up the SSH keys used for SSH transport" + read + + # generate one rsa (for legacy) and one ecdsa (for new systems) + ssh-keygen -t rsa \ + -f /var/lib/munin/.ssh/id_rsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + ssh-keygen -t ecdsa \ + -f /var/lib/munin/.ssh/id_ecdsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + chown -R munin:munin /var/lib/munin/.ssh || die + chmod 0600 /var/lib/munin/.ssh/id_{rsa,ecdsa} || die + + einfo "Your public keys are available in " + einfo " /var/lib/munin/.ssh/id_rsa.pub" + einfo " /var/lib/munin/.ssh/id_ecdsa.pub" + einfo "and follows for convenience" + echo + cat /var/lib/munin/.ssh/id_*.pub +} + +pkg_postinst() { + tmpfiles_process ${CATEGORY}:${PN}:${SLOT}.conf + + elog "Please follow the munin documentation to set up the plugins you" + elog "need, afterwards start munin-node." + elog "" + elog "To make use of munin-async, make sure to set up the corresponding" + elog "SSH key in /var/lib/munin-async/.ssh/authorized_keys" + elog "" + if ! use minimal; then + elog "Please run" + elog " emerge --config net-analyzer/munin" + elog "to automatically configure munin's cronjobs as well as generate" + elog "passwordless SSH keys to be used with munin-async." + fi + elog "" + elog "Further information about setting up Munin in Gentoo can be found" + elog "in the Gentoo Wiki: https://wiki.gentoo.org/wiki/Munin" + + if use cgi; then + chown $(usex apache2 apache munin) \ + "${ROOT}"/var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + elog "To use Munin with CGI you should include" + elog "/etc/apache2/vhosts.d/munin-2.4.include from the virtual" + elog "host you want it to be served." + elog "If you want to enable CGI-based HTML as well, you have to add to" + elog "/etc/conf.d/apache2 the option -D MUNIN_HTML_CGI." + else + elog "Effective CGI support has just been added in 2.0.7-r6." + elog "Documentation on how to use it is still sparse." + fi + fi + + # we create this here as we don't want Portage to check /run + # symlinks but we still need this to be present before the reboot. + if ! use minimal && ! [[ -d "${ROOT}"/run/munin ]]; then + mkdir "${ROOT}"/run/munin + chown munin:munin "${ROOT}"/run/munin + chmod 0700 "${ROOT}"/run/munin + fi +} diff --git a/net-analyzer/nagios-check_dnssec/Manifest b/net-analyzer/nagios-check_dnssec/Manifest new file mode 100644 index 000000000000..22e21ce05ee7 --- /dev/null +++ b/net-analyzer/nagios-check_dnssec/Manifest @@ -0,0 +1 @@ +DIST check_dnssec-0.1_p28.tar.bz2 73458 BLAKE2B 0b3ae3e051734924b89160a67a84b3cbe3f5db0ee036780b4efcbd7857a18a6ac6b180dddab7475be079d5fe902b8eeed4c6acb021b31c70daef69632ff3ecaf SHA512 e99b155f38963858750443f3cf834e4505f871cb06bbfabf07ade1b333b18507b9364e7250118ed5ee4a2134e2a45ee68b6386a9f3b0cb30a0bb02a4a6e263fa diff --git a/net-analyzer/nagios-check_dnssec/metadata.xml b/net-analyzer/nagios-check_dnssec/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagios-check_dnssec/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_dnssec/nagios-check_dnssec-0.1_p28.ebuild b/net-analyzer/nagios-check_dnssec/nagios-check_dnssec-0.1_p28.ebuild new file mode 100644 index 000000000000..ed5fc8bb0488 --- /dev/null +++ b/net-analyzer/nagios-check_dnssec/nagios-check_dnssec-0.1_p28.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +MY_P=${P/nagios-/} + +DESCRIPTION="check_dnssec is a set of Nagios plugins to monitor DNSSEC services" +HOMEPAGE="https://svn.durchmesser.ch/trac/check_dnssec" +# No upstream tarballs, tagged releaess in SVN only. +SRC_URI="mirror://gentoo/${MY_P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + || ( + net-analyzer/nagios-plugins + net-analyzer/monitoring-plugins + ) + net-libs/ldns" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/nagios-check_glsa2/Manifest b/net-analyzer/nagios-check_glsa2/Manifest new file mode 100644 index 000000000000..71b186e00c47 --- /dev/null +++ b/net-analyzer/nagios-check_glsa2/Manifest @@ -0,0 +1 @@ +DIST check_glsa2-20120930.tar.xz 1980 BLAKE2B 6a5e3541b23fe43daba37ccac085ca1079dc1fedbfa87a439a433d6445bd039090a336765bde0c1b2fc5fad464d0f4e175e4a7e90ca65d6bd56d082a3f1cac88 SHA512 ecf7f6f119c8a73bf672eddc64374ed07c03720ec97b51f7e0bd779b3ba2c4ceab87c1c3cbbe38b1f0224234a9fb2af7bd156f9073a8a0aa8da1458988a2bc65 diff --git a/net-analyzer/nagios-check_glsa2/files/nagios-check_glsa2-20120930-CACHEDIR.patch b/net-analyzer/nagios-check_glsa2/files/nagios-check_glsa2-20120930-CACHEDIR.patch new file mode 100644 index 000000000000..3e02afe6e004 --- /dev/null +++ b/net-analyzer/nagios-check_glsa2/files/nagios-check_glsa2-20120930-CACHEDIR.patch @@ -0,0 +1,11 @@ +--- a/check_glsa2_cached.sh ++++ b/check_glsa2_cached.sh +@@ -8,7 +8,7 @@ + # Caches the result of check_glsa2.sh + # First line is the return code, rest of the file is the message + NAME=$(basename $0 .sh) +-CACHEDIR=/var/lib/gentoo/ ++CACHEDIR=/var/cache/check_glsa2 + CACHEFILE=${CACHEDIR}/check_glsa2.cache + SCRIPT=/usr/lib/nagios/plugins/check_glsa2.sh + ret=0 diff --git a/net-analyzer/nagios-check_glsa2/metadata.xml b/net-analyzer/nagios-check_glsa2/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagios-check_glsa2/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_glsa2/nagios-check_glsa2-20120930-r1.ebuild b/net-analyzer/nagios-check_glsa2/nagios-check_glsa2-20120930-r1.ebuild new file mode 100644 index 000000000000..aba3bf1143f7 --- /dev/null +++ b/net-analyzer/nagios-check_glsa2/nagios-check_glsa2-20120930-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN="${PN/nagios-/}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Nagios check script for GLSAs (Gentoo Linux Security Advisories)" +HOMEPAGE="https://github.com/craig/check_glsa2" +SRC_URI="https://dev.gentoo.org/~flameeyes/${MY_PN}/${MY_P}.tar.xz" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +KEYWORDS="amd64" + +DEPEND=" + acct-group/nagios + acct-user/nagios" +RDEPEND=" + ${DEPEND} + app-portage/gentoolkit" + +S="${WORKDIR}/${MY_P}" +PATCHES=( "${FILESDIR}"/${PN}-20120930-CACHEDIR.patch ) + +src_install() { + exeinto /usr/$(get_libdir)/nagios/plugins + doexe *.sh + + dodoc README + + diropts -o nagios -g nagios + keepdir /var/cache/${MY_PN} +} diff --git a/net-analyzer/nagios-check_ipmi_sensor/Manifest b/net-analyzer/nagios-check_ipmi_sensor/Manifest new file mode 100644 index 000000000000..45e45ed8c88f --- /dev/null +++ b/net-analyzer/nagios-check_ipmi_sensor/Manifest @@ -0,0 +1 @@ +DIST check_ipmi_sensor_v3-3.13.tar.gz 27079 BLAKE2B 19f2eddeeb43a73eb8faa2907b53f2b0514a19a3313e90487082c463ef12a128cb3b252457768c1afcacd06402b572f54cab7c05d159df4e6f7881b191663046 SHA512 b117ca13936e8c2201f3262302004bd0f903d19ee7289222962ee6b53119ba8306cdf355292c63b9d7639d850bd59c24b2875ccb8b3c408bdac60d144837e97a diff --git a/net-analyzer/nagios-check_ipmi_sensor/metadata.xml b/net-analyzer/nagios-check_ipmi_sensor/metadata.xml new file mode 100644 index 000000000000..a994ed951774 --- /dev/null +++ b/net-analyzer/nagios-check_ipmi_sensor/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>idl0r@gentoo.org</email> + <name>Christian Ruppert</name> + </maintainer> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_ipmi_sensor/nagios-check_ipmi_sensor-3.13.ebuild b/net-analyzer/nagios-check_ipmi_sensor/nagios-check_ipmi_sensor-3.13.ebuild new file mode 100644 index 000000000000..b8d98e7da64b --- /dev/null +++ b/net-analyzer/nagios-check_ipmi_sensor/nagios-check_ipmi_sensor-3.13.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${PN#nagios-}_v$(ver_cut 1)-${PV}" + +DESCRIPTION="IPMI Sensor Monitoring Plugin for Nagios/Icinga" +HOMEPAGE="http://www.thomas-krenn.com/en/oss/ipmi-plugin/" +SRC_URI="https://github.com/thomas-krenn/check_ipmi_sensor_v3/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~hppa x86" +IUSE="" + +DEPEND="" +RDEPEND="dev-lang/perl + dev-perl/IPC-Run + sys-libs/freeipmi" + +S="${WORKDIR}/${MY_P}" + +src_install() { + exeinto /usr/$(get_libdir)/nagios/plugins + doexe check_ipmi_sensor + + dodoc changelog +} diff --git a/net-analyzer/nagios-check_linux_bonding/Manifest b/net-analyzer/nagios-check_linux_bonding/Manifest new file mode 100644 index 000000000000..b567506ad048 --- /dev/null +++ b/net-analyzer/nagios-check_linux_bonding/Manifest @@ -0,0 +1 @@ +DIST check_linux_bonding-1.4.gh.tar.gz 24921 BLAKE2B ef582184471e4ca9d4b9a1d5cdee481852f1f452806ca081e04e74b7b469109f3a5998708cdb7ee6d3ffa9240cdbf721f0cbf6b3f4be2c4cc62042fce6647ccd SHA512 e8195d012a3da53983acdb8ea54d87995541e4e303dce28683ca04b6a6f84826c37db42c295b7e121092482a49268f57355284b57bb77a2212c46b834dd57088 diff --git a/net-analyzer/nagios-check_linux_bonding/metadata.xml b/net-analyzer/nagios-check_linux_bonding/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/nagios-check_linux_bonding/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_linux_bonding/nagios-check_linux_bonding-1.4-r1.ebuild b/net-analyzer/nagios-check_linux_bonding/nagios-check_linux_bonding-1.4-r1.ebuild new file mode 100644 index 000000000000..558d1eb00b93 --- /dev/null +++ b/net-analyzer/nagios-check_linux_bonding/nagios-check_linux_bonding-1.4-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_COMMIT="fde23cba225870ceb1162d918a6307c608e654a5" +MY_P="${P/nagios-/}" + +DESCRIPTION="Nagios plugin to monitor bonding status of network interfaces" +HOMEPAGE="https://github.com/glynastill/check_linux_bonding-1.4" +SRC_URI="https://github.com/glynastill/${MY_P}/archive/${EGIT_COMMIT}.tar.gz -> ${MY_P}.gh.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND="dev-lang/perl" +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/${MY_P}-${EGIT_COMMIT} + +src_install() { + default + + local nagiosplugindir=/usr/$(get_libdir)/nagios/plugins + dodir "${nagiosplugindir}" + exeinto ${nagiosplugindir} + doexe check_linux_bonding + + dodoc CHANGES + doman man/check_linux_bonding.8 +} diff --git a/net-analyzer/nagios-check_logfiles/Manifest b/net-analyzer/nagios-check_logfiles/Manifest new file mode 100644 index 000000000000..79e3ec445ea2 --- /dev/null +++ b/net-analyzer/nagios-check_logfiles/Manifest @@ -0,0 +1 @@ +DIST nagios-check_logfiles-4.0.1.3.tar.gz 254371 BLAKE2B d4219e03ac2b981b08866baa4eab4fb16857215cb817ee44f23690094a3b29bf806caa6c1cd98c439ba81fa31cd63ce1fcfca5c92d1aad260490db087a560fd7 SHA512 1893e67d9b27939fae6f330b1f796e98becbb1c4bd1dfe11811236b0d9bcdab0b2fea2a49f7b90302d15c75328422f479d1a26a486cfbe1ec0d3b8f9b71a5150 diff --git a/net-analyzer/nagios-check_logfiles/metadata.xml b/net-analyzer/nagios-check_logfiles/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagios-check_logfiles/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_logfiles/nagios-check_logfiles-4.0.1.3.ebuild b/net-analyzer/nagios-check_logfiles/nagios-check_logfiles-4.0.1.3.ebuild new file mode 100644 index 000000000000..654975febfc5 --- /dev/null +++ b/net-analyzer/nagios-check_logfiles/nagios-check_logfiles-4.0.1.3.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A nagios plugin for checking logfiles" +HOMEPAGE="https://labs.consol.de/nagios/check_logfiles/index.html" + +MY_P=${P/nagios-/} + +SRC_URI="https://labs.consol.de/assets/downloads/nagios/${MY_P}.tar.gz -> ${P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" + +KEYWORDS="~alpha amd64 ~ppc ppc64 ~sparc x86" + +RDEPEND="|| ( >=net-analyzer/nagios-plugins-1.4.13-r1 >=net-analyzer/monitoring-plugins-2 )" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf \ + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" \ + --sysconfdir="${EPREFIX}/etc/nagios" +} diff --git a/net-analyzer/nagios-check_multiple/Manifest b/net-analyzer/nagios-check_multiple/Manifest new file mode 100644 index 000000000000..3ed8c1378cb5 --- /dev/null +++ b/net-analyzer/nagios-check_multiple/Manifest @@ -0,0 +1 @@ +DIST nagios-check_multiple-0.0.1.tar.gz 9376 BLAKE2B 2db464b7edd4aa704560a3f16a5d70e4cdef7cd35284e3c679f3e10e5ef6eaaba19dc361efbb10a77f87c14726439869e4b415fe7e393a1d7ac23233b3bfa66a SHA512 a75bcd821afc6daca612f42c552fb965a3068dc04a94df41ff41d36928c764d44bcf72e1bd6d776bf4b443c73fc3946c0a91443a562019fcd1b6e8687d0ebcd2 diff --git a/net-analyzer/nagios-check_multiple/metadata.xml b/net-analyzer/nagios-check_multiple/metadata.xml new file mode 100644 index 000000000000..a6e780957ae0 --- /dev/null +++ b/net-analyzer/nagios-check_multiple/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_multiple/nagios-check_multiple-0.0.1-r4.ebuild b/net-analyzer/nagios-check_multiple/nagios-check_multiple-0.0.1-r4.ebuild new file mode 100644 index 000000000000..3427de753160 --- /dev/null +++ b/net-analyzer/nagios-check_multiple/nagios-check_multiple-0.0.1-r4.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 + +MY_PN="check_multiple" +DESCRIPTION="A Nagios plugin to execute multiple checks in parallel" +HOMEPAGE="https://github.com/clarkbox/check_multiple" +SRC_URI="https://github.com/clarkbox/check_multiple/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~riscv" +IUSE="test" +RESTRICT="!test? ( test )" + +src_install() { + distutils-r1_src_install + + local nagiosplugindir="/usr/$(get_libdir)/nagios/plugins" + dodir "${nagiosplugindir}" + + # Create a symlink from the nagios plugin directory to the /usr/bin + # location. The "binary" in /usr/bin should also be a symlink, since + # the python machinery allows the user to switch out the + # interpreter. We don't want to mess with any of that, so we just + # point to whatever the system would use if the user executed + # ${MY_PN}. + # + # The relative symlink is preferred so that if the package is + # installed e.g. while in a chroot, the symlink will never point + # outside of that chroot. + # + dosym "../../../bin/${MY_PN}" "${nagiosplugindir}/${MY_PN}" +} + +python_test() { + "${EPYTHON}" -m unittest -v lib/check_multiple/check_multiple.py \ + || die "test suite failed" +} diff --git a/net-analyzer/nagios-check_mysql_health/Manifest b/net-analyzer/nagios-check_mysql_health/Manifest new file mode 100644 index 000000000000..92c845762d58 --- /dev/null +++ b/net-analyzer/nagios-check_mysql_health/Manifest @@ -0,0 +1 @@ +DIST check_mysql_health-2.2.2.tar.gz 140250 BLAKE2B 7bdbf5398ed2219ec9a254906c2e0b38160fe8914c218388a4c9f06c401636e500290dea42b420da7881e6dd35116e0f5b54bb448b304c84714bdee610c74d92 SHA512 027e47747aba524d8c7d168f6c440271434db2e152e59821eff06449d98919ab343a7840ecf73a1fcbc864799d6d3094088bb06f6b36b16989a5184676ae2628 diff --git a/net-analyzer/nagios-check_mysql_health/metadata.xml b/net-analyzer/nagios-check_mysql_health/metadata.xml new file mode 100644 index 000000000000..a6e780957ae0 --- /dev/null +++ b/net-analyzer/nagios-check_mysql_health/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_mysql_health/nagios-check_mysql_health-2.2.2-r2.ebuild b/net-analyzer/nagios-check_mysql_health/nagios-check_mysql_health-2.2.2-r2.ebuild new file mode 100644 index 000000000000..f3a0a6697a68 --- /dev/null +++ b/net-analyzer/nagios-check_mysql_health/nagios-check_mysql_health-2.2.2-r2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="${PN#nagios-}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Nagios plugin for checking MySQL server health" +HOMEPAGE="https://labs.consol.de/nagios/check_mysql_health/" +SRC_URI="https://labs.consol.de/assets/downloads/nagios/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 x86" + +# Found by grepping for "use " in the built +# plugins-scripts/check_mysql_health. +RDEPEND=" + dev-perl/DBD-mysql + dev-perl/DBI + virtual/perl-Data-Dumper + virtual/perl-File-Temp + virtual/perl-Time-HiRes + " + +src_configure() { + # Should match net-analyzer/{monitoring,nagios}-plugins. + econf --libexecdir="/usr/$(get_libdir)/nagios/plugins" +} + +# Here we should have a pkg_preinst() that creates the nagios user/group +# (using the same command from e.g. net-analyzer/nagios-plugins). But +# right now, the build system for check_mysql_health has a bug: it +# doesn't use the configured user (INSTALL_OPTIONS aren't passed to +# /usr/bin/install), so it's pointless. Don't forget to inherit +# user.eclass! diff --git a/net-analyzer/nagios-check_rbl/Manifest b/net-analyzer/nagios-check_rbl/Manifest new file mode 100644 index 000000000000..49b67622e22b --- /dev/null +++ b/net-analyzer/nagios-check_rbl/Manifest @@ -0,0 +1 @@ +DIST check_rbl-1.7.0.tar.gz 51673 BLAKE2B 7e2d23ea5cd44082ebe9963326bc2a8517c737640fada229d0b65d64ac92ce50e80b675834f4bd7dbc56d653e0243558fe6f1c402b11498d48bc948d3facda57 SHA512 5b219362bfa736832e935c64019ee50b87d4f9cc2bce0ab4795eb4c59e03712adc9461cdd6624cbaf1d98a5afdd9f611dbdc58fd913a4478b0fef0664cddcf80 diff --git a/net-analyzer/nagios-check_rbl/metadata.xml b/net-analyzer/nagios-check_rbl/metadata.xml new file mode 100644 index 000000000000..5f5da002f5a7 --- /dev/null +++ b/net-analyzer/nagios-check_rbl/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-check_rbl/nagios-check_rbl-1.7.0.ebuild b/net-analyzer/nagios-check_rbl/nagios-check_rbl-1.7.0.ebuild new file mode 100644 index 000000000000..68a42bf960b5 --- /dev/null +++ b/net-analyzer/nagios-check_rbl/nagios-check_rbl-1.7.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Monitor whether or not a host is blacklisted" +HOMEPAGE="https://github.com/matteocorti/check_rbl" + +MY_P="${P/nagios-/}" +SRC_URI="https://github.com/matteocorti/check_rbl/releases/download/v${PV}/${MY_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" + +KEYWORDS="amd64 ~hppa ~sparc x86" +IUSE="" + +# No, this is not redundant -- see bug 627082. +RESTRICT=test + +# The package's INSTALL/Makefile.PL files specify its dependencies. +# +# * Capture::Tiny (dev-perl/Capture-Tiny) +# * Data::Validate::Domain (dev-perl/Data-Validate-Domain) +# * Data::Validate::IP (dev-perl/Data-Validate-IP) +# * IO::Select (dev-lang/perl) +# * Monitoring::Plugin (dev-perl/Monitoring-Plugin) +# * Monitoring::Plugin::Getopt (dev-perl/Monitoring-Plugin) +# * Monitoring::Plugin::Threshold (dev-perl/Monitoring-Plugin) +# * Net::DNS (dev-perl/Net-DNS) +# * Net::IP (dev-perl/Net-IP) +# * Readonly (dev-perl/Readonly) +# * Socket (virtual/perl-Socket) +# +RDEPEND="dev-lang/perl + dev-perl/Capture-Tiny + dev-perl/Data-Validate-Domain + dev-perl/Data-Validate-IP + dev-perl/Monitoring-Plugin + dev-perl/Net-DNS + dev-perl/Net-IP + dev-perl/Readonly + virtual/perl-Socket" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + perl Makefile.PL INSTALLDIRS=vendor || die +} + +src_install() { + default + + local nagiosplugindir=/usr/$(get_libdir)/nagios/plugins + + # It's simplest to move this file after it's been installed. + dodir "${nagiosplugindir}" + mv "${D}"/usr/bin/check_rbl "${D}"/"${nagiosplugindir}" || die +} diff --git a/net-analyzer/nagios-core/Manifest b/net-analyzer/nagios-core/Manifest new file mode 100644 index 000000000000..25613e5cac7b --- /dev/null +++ b/net-analyzer/nagios-core/Manifest @@ -0,0 +1,4 @@ +DIST nagios-4.5.12.tar.gz 2590063 BLAKE2B 20aa455270655180d4a4c6d32e2d114eaf8b665b1315eda690b15e9d69e115751d559cc20a8cab5ddbe932c0612c63c1f0e9387918d5b8e21badad0db0a540d1 SHA512 2b172f6d4c7ff87ac488bf276a170b626cf10b0dcefe8870d95002c73cd0b6d5fbb9397b99af21e5fd89425165249b82542e4f96920fc353a099a9d930d52bf8 +DIST nagios-4.5.13.tar.gz 2590052 BLAKE2B 35cba4a07ffa0e3ed180fa28376a420255353a2fff7285ce58298f06870c5ca844c5e01e439b04c1c83ea97b51e4db4f1436b96e2ac5b868000f81cd26eec8b2 SHA512 f5dc03f1bb5db633594ce50b1d58a18e8dd095cfc362416a39e88de02056ad0c05b60acd5f86a629d5b59d214724a2f7d48e681149a648ed464565c7b818c371 +DIST nagios-4.5.8.tar.gz 2587824 BLAKE2B c2f571ff7e9a525a70d6425905c5b04703ad5c9c516e36c0146d39c3ae13555f76a9a6429365f3c4cf4482f3053471b40989b81debb94d8974d0fecaf2788a7c SHA512 a293dc28638fffe944adfcf732025100550a1ab54d3a96bacebffb09a98954a9cd9fa122b4afea73b473dcf5560904d5acaa31d8ffd356b6e3b90ae37d86d4b2 +DIST nagios-core-gentoo-icons-20141125.tar 40960 BLAKE2B 31c1953e1160c7c7b89606b72b1a80407e4c1b7a7938b40bd1c577cd0c309dd88ca6b775d692a9b846dbf67736537fa9c91e56aa15fdd447769608ca525bff09 SHA512 bf109879cddd6136b76baba55d0b60b2596e37431dcf5ce0905d34a9fa292ebf7e4bde82d9a084362c486e8fac344c76d88f9298b1b85541ed70ffd608493766 diff --git a/net-analyzer/nagios-core/files/99_nagios4-r1.conf b/net-analyzer/nagios-core/files/99_nagios4-r1.conf new file mode 100644 index 000000000000..8d080d5c17b1 --- /dev/null +++ b/net-analyzer/nagios-core/files/99_nagios4-r1.conf @@ -0,0 +1,16 @@ +<IfDefine NAGIOS> + + ScriptAlias /nagios/cgi-bin @CGIBINDIR@ + <Directory "@CGIBINDIR@"> + AllowOverride AuthConfig + Options ExecCGI + Require all granted + </Directory> + + Alias /nagios @WEBDIR@ + <Directory "@WEBDIR@"> + AllowOverride AuthConfig + Require all granted + </Directory> + +</IfDefine> diff --git a/net-analyzer/nagios-core/files/lighttpd_nagios4-r1.conf b/net-analyzer/nagios-core/files/lighttpd_nagios4-r1.conf new file mode 100644 index 000000000000..2653922ddc93 --- /dev/null +++ b/net-analyzer/nagios-core/files/lighttpd_nagios4-r1.conf @@ -0,0 +1,15 @@ +server.modules += ("mod_cgi") +server.modules += ("mod_alias") + +$HTTP["url"] =~ "^/nagios/cgi-bin/" { + dir-listing.activate = "disable" + cgi.assign = ( + ".pl" => "/usr/bin/perl", + ".cgi" => "" + ) +} + +alias.url += ( + "/nagios/cgi-bin" => "@CGIBINDIR@", + "/nagios" => "@WEBDIR@" +) diff --git a/net-analyzer/nagios-core/metadata.xml b/net-analyzer/nagios-core/metadata.xml new file mode 100644 index 000000000000..2214499050ae --- /dev/null +++ b/net-analyzer/nagios-core/metadata.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <longdescription> + Nagios is a host and service monitor designed to inform you of + network problems before your clients, end-users or managers do. It + has been designed to run under the Linux operating system, but + works fine under most *NIX variants as well. The monitoring daemon + runs intermittent checks on hosts and services you specify using + external "plugins" which return status information to Nagios. When + problems are encountered, the daemon can send notifications out to + administrative contacts in a variety of different ways (email, + instant message, SMS, etc.). Current status information, + historical logs, and reports can all be accessed via a web + browser. + </longdescription> + <use> + <flag name="classicui">use the classic web theme</flag> + <flag name="lighttpd">install <pkg>www-servers/lighttpd</pkg> config</flag> + <flag name="web">enable web interface</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:nagios:nagios_core</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-core/nagios-core-4.5.12.ebuild b/net-analyzer/nagios-core/nagios-core-4.5.12.ebuild new file mode 100644 index 000000000000..99d8fa0821bd --- /dev/null +++ b/net-analyzer/nagios-core/nagios-core-4.5.12.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs + +MY_P="${PN/-core}-${PV}" +DESCRIPTION="Nagios core - monitoring daemon, web GUI, and documentation" +HOMEPAGE="https://www.nagios.org/" + +# The name of the directory into which our Gentoo icons will be +# extracted, and also the basename of the archive containing it. +GENTOO_ICONS="${PN}-gentoo-icons-20141125" +SRC_URI="https://downloads.sourceforge.net/nagios/${MY_P}.tar.gz + web? ( https://dev.gentoo.org/~mjo/distfiles/${GENTOO_ICONS}.tar )" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~sparc x86" +IUSE="apache2 classicui lighttpd +web vim-syntax" + +# In pkg_postinst(), we change the group of the Nagios configuration +# directory to that of the web server user. It can't belong to both +# apache/lighttpd groups at the same time, so we block this combination +# for our own sanity. +# +# This could be made to work, but we would need a better way to allow +# the web user read-only access to Nagios's configuration directory. +# +REQUIRED_USE="apache2? ( !lighttpd )" + +# +# Note, we require one of the apache2 CGI modules: +# +# * mod_cgi (USE=apache2_modules_cgi) +# * mod_cgid (USE=apache2_modules_cgid) +# * mod_fcgid (www-apache/mod_fcgid) +# +# We just don't care /which/ one. And of course PHP supports both CGI +# (USE=cgi) and FastCGI (USE=fpm). We're pretty lenient with the +# dependencies, and expect the user not to do anything /too/ +# stupid. (For example, installing Apache with only FastCGI support, and +# PHP with only CGI support.) +# +# Another annoyance is that the upstream Makefile uses app-arch/unzip to +# extract a snapshot of AngularJS, but that's only needed when USE=web. +# +MOD_ALIAS=apache2_modules_alias + +# The dependencies checked by the configure script. All of these are +# also runtime dependencies; that's why ./configure checks for them. +CONFIGURE_DEPEND="acct-group/nagios + acct-user/nagios + virtual/mailx + dev-lang/perl:=" + +# In addition to the things that the ./configure script checks for, +# we also need to be able to unzip stuff on the build host. +# +# We need the apache/lighttpd groups in src_install() for the things +# installed as the --with-command-group argument, so they go here too. +# The groups are also needed at runtime, but that is ensured by apache +# and lighttpd themselves being in RDEPEND. +# +# The sys-apps/which dependency is removed in, +# +# https://github.com/NagiosEnterprises/nagioscore/pull/1031 +# +# but would require an autoreconf if we wanted to backport it. +# +BDEPEND="${CONFIGURE_DEPEND} + sys-apps/which + apache2? ( acct-group/apache ) + lighttpd? ( acct-group/lighttpd ) + web? ( app-arch/unzip )" + +# This is linked into /usr/bin/nagios{,tats} +DEPEND="dev-libs/libltdl:0" + +RDEPEND="${CONFIGURE_DEPEND} + ${DEPEND} + web? ( + media-libs/gd[jpeg,png] + lighttpd? ( www-servers/lighttpd[php] ) + apache2? ( + || ( + www-servers/apache[${MOD_ALIAS},apache2_modules_cgi] + www-servers/apache[${MOD_ALIAS},apache2_modules_cgid] + ( www-servers/apache[${MOD_ALIAS}] www-apache/mod_fcgid ) ) + || ( + dev-lang/php:*[apache2] + dev-lang/php:*[cgi] + dev-lang/php:*[fpm] ) + ) + ) + vim-syntax? ( app-vim/nagios-syntax )" + +src_configure() { + local myconf + + if use !apache2 && use !lighttpd ; then + myconf="${myconf} --with-command-group=nagios" + else + if use apache2 ; then + myconf="${myconf} --with-command-group=apache" + myconf="${myconf} --with-httpd-conf=/etc/apache2/conf.d" + elif use lighttpd ; then + myconf="${myconf} --with-command-group=lighttpd" + fi + fi + + # We pass "unknown" as the init type because we don't want it to + # guess. Later on, we'll manually install both OpenRC and systemd + # services. + econf ${myconf} \ + --prefix="${EPREFIX}/usr" \ + --bindir="${EPREFIX}/usr/sbin" \ + --localstatedir="${EPREFIX}/var/lib/nagios" \ + --sysconfdir="${EPREFIX}/etc/nagios" \ + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" \ + --with-cgibindir="${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin" \ + --with-webdir="${EPREFIX}/usr/share/nagios/htdocs" \ + --with-init-type="unknown" + + # The paths in the web server configuration files need to match + # those passed to econf above. + cp "${FILESDIR}/99_nagios4-r1.conf" \ + "${FILESDIR}/lighttpd_nagios4-r1.conf" \ + "${T}/" || die "failed to create copies of web server conf files" + + sed -e "s|@CGIBINDIR@|${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin|g" \ + -e "s|@WEBDIR@|${EPREFIX}/usr/share/nagios/htdocs|" \ + -i "${T}/99_nagios4-r1.conf" \ + -i "${T}/lighttpd_nagios4-r1.conf" \ + || die "failed to substitute paths into web server conf files" + +} + +src_compile() { + emake CC="$(tc-getCC)" nagios + + if use web; then + # Only compile the CGIs/HTML when USE=web is set. + emake CC="$(tc-getCC)" cgis html + fi +} + +src_install() { + dodoc Changelog CONTRIBUTING.md README.md THANKS UPGRADING + + # There is no way to install the CGIs unstripped from the top-level + # makefile, so descend into base/ here. The empty INSTALL_OPTS + # ensures that root:root: owns the nagios executables. + cd "${S}/base" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # Otherwise this gets installed as 770 and you get "access denied" + # for some reason or other when starting nagios. The permissions + # on nagiostats are just for consistency (these should both get + # fixed upstream). + fperms 775 /usr/sbin/nagios /usr/sbin/nagiostats + + # INSTALL_OPTS are needed for most of install-basic, but we don't + # want them on the LIBEXECDIR, argh. + emake DESTDIR="${D}" install-basic + fowners root:root /usr/$(get_libdir)/nagios/plugins + + # Don't make the configuration owned by the nagios user, because + # then he can edit nagios.cfg and trick nagios into running as root + # and doing his bidding. + emake INSTALL_OPTS="" DESTDIR="${D}" install-config + + # No INSTALL_OPTS used in install-commandmode, thankfully. + emake DESTDIR="${D}" install-commandmode + + # The build system installs these directories, but portage assumes + # that the build system doesn't know what it's doing so we have to + # keepdir them, too. I guess you'll have to manually re-check the + # upstream build system forever to see if this is still necessary. + keepdir /var/lib/nagios{,/archives,/rw,/spool,/spool/checkresults} + + if use web; then + # There is no way to install the CGIs unstripped from the + # top-level makefile, so descend into cgi/ here. The empty + # INSTALL_OPTS ensures that root:root: owns the CGI executables. + cd "${S}/cgi" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # install-html installs the new exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-html + + if use classicui; then + # This overwrites the already-installed exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-classicui + fi + + # Install cute Gentoo icons (bug #388323), setting their + # owner, group, and mode to match those of the rest of Nagios's + # images. + insinto /usr/share/nagios/htdocs/images/logos + doins "${WORKDIR}/${GENTOO_ICONS}"/*.* + fi + + # The ./configure script for nagios detects the init system on the + # build host, which is wrong for all sorts of reasons. We've gone + # to great lengths above to avoid running "install-init" -- even + # indirectly -- and so now we must install whatever service files + # we need by hand. + newinitd startup/openrc-init nagios + systemd_newunit startup/default-service nagios.service + + if use web ; then + if use apache2 ; then + # Install the Nagios configuration file for Apache. + insinto "/etc/apache2/modules.d" + newins "${T}/99_nagios4-r1.conf" "99_nagios4.conf" + elif use lighttpd ; then + # Install the Nagios configuration file for Lighttpd. + insinto /etc/lighttpd + newins "${T}/lighttpd_nagios4-r1.conf" nagios.conf + else + ewarn "${CATEGORY}/${PF} only supports apache or lighttpd" + ewarn "out of the box. Since you are not using one of them, you" + ewarn "will have to configure your webserver yourself." + fi + fi +} + +pkg_postinst() { + + if use web; then + if use apache2 || use lighttpd ; then + if use apache2; then + elog "To enable the Nagios web front-end, please edit" + elog "${ROOT}/etc/conf.d/apache2 and add \"-D NAGIOS -D PHP\"" + elog "to APACHE2_OPTS. Then Nagios will be available at," + elog + elif use lighttpd; then + elog "To enable the Nagios web front-end, please add" + elog "'include \"nagios.conf\"' to the lighttpd configuration" + elog "file at ${ROOT}/etc/lighttpd/lighttpd.conf. Then Nagios" + elog "will be available at," + elog + fi + + elog " http://localhost/nagios/" + fi + fi + + elog + elog "If your kernel has /proc protection, nagios" + elog "will not be happy as it relies on accessing the proc" + elog "filesystem. You can fix this by adding nagios into" + elog "the group wheel, but this is not recomended." + elog + + if [ -n "${REPLACING_VERSIONS}" ]; then + ewarn "The local state directory for nagios has changed in v4.4.5," + ewarn "from ${EROOT}/var/nagios to ${EROOT}/var/lib/nagios. If you" + ewarn "wish to migrate your state to the new location, first stop" + ewarn "nagios and then run" + ewarn "" + ewarn " diff --recursive --brief ${EROOT}/var/nagios ${EROOT}/var/lib/nagios" + ewarn "" + ewarn "to identify any files that should be moved to the new" + ewarn "location. They can simply be moved with \"mv\" before" + ewarn "restarting nagios." + fi +} diff --git a/net-analyzer/nagios-core/nagios-core-4.5.13.ebuild b/net-analyzer/nagios-core/nagios-core-4.5.13.ebuild new file mode 100644 index 000000000000..7c6d84e07e33 --- /dev/null +++ b/net-analyzer/nagios-core/nagios-core-4.5.13.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs + +MY_P="${PN/-core}-${PV}" +DESCRIPTION="Nagios core - monitoring daemon, web GUI, and documentation" +HOMEPAGE="https://www.nagios.org/" + +# The name of the directory into which our Gentoo icons will be +# extracted, and also the basename of the archive containing it. +GENTOO_ICONS="${PN}-gentoo-icons-20141125" +SRC_URI="https://downloads.sourceforge.net/nagios/${MY_P}.tar.gz + web? ( https://dev.gentoo.org/~mjo/distfiles/${GENTOO_ICONS}.tar )" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="apache2 classicui lighttpd +web vim-syntax" + +# In pkg_postinst(), we change the group of the Nagios configuration +# directory to that of the web server user. It can't belong to both +# apache/lighttpd groups at the same time, so we block this combination +# for our own sanity. +# +# This could be made to work, but we would need a better way to allow +# the web user read-only access to Nagios's configuration directory. +# +REQUIRED_USE="apache2? ( !lighttpd )" + +# +# Note, we require one of the apache2 CGI modules: +# +# * mod_cgi (USE=apache2_modules_cgi) +# * mod_cgid (USE=apache2_modules_cgid) +# * mod_fcgid (www-apache/mod_fcgid) +# +# We just don't care /which/ one. And of course PHP supports both CGI +# (USE=cgi) and FastCGI (USE=fpm). We're pretty lenient with the +# dependencies, and expect the user not to do anything /too/ +# stupid. (For example, installing Apache with only FastCGI support, and +# PHP with only CGI support.) +# +# Another annoyance is that the upstream Makefile uses app-arch/unzip to +# extract a snapshot of AngularJS, but that's only needed when USE=web. +# +MOD_ALIAS=apache2_modules_alias + +# The dependencies checked by the configure script. All of these are +# also runtime dependencies; that's why ./configure checks for them. +CONFIGURE_DEPEND="acct-group/nagios + acct-user/nagios + virtual/mailx + dev-lang/perl:=" + +# In addition to the things that the ./configure script checks for, +# we also need to be able to unzip stuff on the build host. +# +# We need the apache/lighttpd groups in src_install() for the things +# installed as the --with-command-group argument, so they go here too. +# The groups are also needed at runtime, but that is ensured by apache +# and lighttpd themselves being in RDEPEND. +# +# The sys-apps/which dependency is removed in, +# +# https://github.com/NagiosEnterprises/nagioscore/pull/1031 +# +# but would require an autoreconf if we wanted to backport it. +# +BDEPEND="${CONFIGURE_DEPEND} + sys-apps/which + apache2? ( acct-group/apache ) + lighttpd? ( acct-group/lighttpd ) + web? ( app-arch/unzip )" + +# This is linked into /usr/bin/nagios{,tats} +DEPEND="dev-libs/libltdl:0" + +RDEPEND="${CONFIGURE_DEPEND} + ${DEPEND} + web? ( + media-libs/gd[jpeg,png] + lighttpd? ( www-servers/lighttpd[php] ) + apache2? ( + || ( + www-servers/apache[${MOD_ALIAS},apache2_modules_cgi] + www-servers/apache[${MOD_ALIAS},apache2_modules_cgid] + ( www-servers/apache[${MOD_ALIAS}] www-apache/mod_fcgid ) ) + || ( + dev-lang/php:*[apache2] + dev-lang/php:*[cgi] + dev-lang/php:*[fpm] ) + ) + ) + vim-syntax? ( app-vim/nagios-syntax )" + +src_configure() { + local myconf + + if use !apache2 && use !lighttpd ; then + myconf="${myconf} --with-command-group=nagios" + else + if use apache2 ; then + myconf="${myconf} --with-command-group=apache" + myconf="${myconf} --with-httpd-conf=/etc/apache2/conf.d" + elif use lighttpd ; then + myconf="${myconf} --with-command-group=lighttpd" + fi + fi + + # We pass "unknown" as the init type because we don't want it to + # guess. Later on, we'll manually install both OpenRC and systemd + # services. + econf ${myconf} \ + --prefix="${EPREFIX}/usr" \ + --bindir="${EPREFIX}/usr/sbin" \ + --localstatedir="${EPREFIX}/var/lib/nagios" \ + --sysconfdir="${EPREFIX}/etc/nagios" \ + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" \ + --with-cgibindir="${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin" \ + --with-webdir="${EPREFIX}/usr/share/nagios/htdocs" \ + --with-init-type="unknown" + + # The paths in the web server configuration files need to match + # those passed to econf above. + cp "${FILESDIR}/99_nagios4-r1.conf" \ + "${FILESDIR}/lighttpd_nagios4-r1.conf" \ + "${T}/" || die "failed to create copies of web server conf files" + + sed -e "s|@CGIBINDIR@|${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin|g" \ + -e "s|@WEBDIR@|${EPREFIX}/usr/share/nagios/htdocs|" \ + -i "${T}/99_nagios4-r1.conf" \ + -i "${T}/lighttpd_nagios4-r1.conf" \ + || die "failed to substitute paths into web server conf files" + +} + +src_compile() { + emake CC="$(tc-getCC)" nagios + + if use web; then + # Only compile the CGIs/HTML when USE=web is set. + emake CC="$(tc-getCC)" cgis html + fi +} + +src_install() { + dodoc Changelog CONTRIBUTING.md README.md THANKS UPGRADING + + # There is no way to install the CGIs unstripped from the top-level + # makefile, so descend into base/ here. The empty INSTALL_OPTS + # ensures that root:root: owns the nagios executables. + cd "${S}/base" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # Otherwise this gets installed as 770 and you get "access denied" + # for some reason or other when starting nagios. The permissions + # on nagiostats are just for consistency (these should both get + # fixed upstream). + fperms 775 /usr/sbin/nagios /usr/sbin/nagiostats + + # INSTALL_OPTS are needed for most of install-basic, but we don't + # want them on the LIBEXECDIR, argh. + emake DESTDIR="${D}" install-basic + fowners root:root /usr/$(get_libdir)/nagios/plugins + + # Don't make the configuration owned by the nagios user, because + # then he can edit nagios.cfg and trick nagios into running as root + # and doing his bidding. + emake INSTALL_OPTS="" DESTDIR="${D}" install-config + + # No INSTALL_OPTS used in install-commandmode, thankfully. + emake DESTDIR="${D}" install-commandmode + + # The build system installs these directories, but portage assumes + # that the build system doesn't know what it's doing so we have to + # keepdir them, too. I guess you'll have to manually re-check the + # upstream build system forever to see if this is still necessary. + keepdir /var/lib/nagios{,/archives,/rw,/spool,/spool/checkresults} + + if use web; then + # There is no way to install the CGIs unstripped from the + # top-level makefile, so descend into cgi/ here. The empty + # INSTALL_OPTS ensures that root:root: owns the CGI executables. + cd "${S}/cgi" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # install-html installs the new exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-html + + if use classicui; then + # This overwrites the already-installed exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-classicui + fi + + # Install cute Gentoo icons (bug #388323), setting their + # owner, group, and mode to match those of the rest of Nagios's + # images. + insinto /usr/share/nagios/htdocs/images/logos + doins "${WORKDIR}/${GENTOO_ICONS}"/*.* + fi + + # The ./configure script for nagios detects the init system on the + # build host, which is wrong for all sorts of reasons. We've gone + # to great lengths above to avoid running "install-init" -- even + # indirectly -- and so now we must install whatever service files + # we need by hand. + newinitd startup/openrc-init nagios + systemd_newunit startup/default-service nagios.service + + if use web ; then + if use apache2 ; then + # Install the Nagios configuration file for Apache. + insinto "/etc/apache2/modules.d" + newins "${T}/99_nagios4-r1.conf" "99_nagios4.conf" + elif use lighttpd ; then + # Install the Nagios configuration file for Lighttpd. + insinto /etc/lighttpd + newins "${T}/lighttpd_nagios4-r1.conf" nagios.conf + else + ewarn "${CATEGORY}/${PF} only supports apache or lighttpd" + ewarn "out of the box. Since you are not using one of them, you" + ewarn "will have to configure your webserver yourself." + fi + fi +} + +pkg_postinst() { + + if use web; then + if use apache2 || use lighttpd ; then + if use apache2; then + elog "To enable the Nagios web front-end, please edit" + elog "${ROOT}/etc/conf.d/apache2 and add \"-D NAGIOS -D PHP\"" + elog "to APACHE2_OPTS. Then Nagios will be available at," + elog + elif use lighttpd; then + elog "To enable the Nagios web front-end, please add" + elog "'include \"nagios.conf\"' to the lighttpd configuration" + elog "file at ${ROOT}/etc/lighttpd/lighttpd.conf. Then Nagios" + elog "will be available at," + elog + fi + + elog " http://localhost/nagios/" + fi + fi + + elog + elog "If your kernel has /proc protection, nagios" + elog "will not be happy as it relies on accessing the proc" + elog "filesystem. You can fix this by adding nagios into" + elog "the group wheel, but this is not recomended." + elog + + if [ -n "${REPLACING_VERSIONS}" ]; then + ewarn "The local state directory for nagios has changed in v4.4.5," + ewarn "from ${EROOT}/var/nagios to ${EROOT}/var/lib/nagios. If you" + ewarn "wish to migrate your state to the new location, first stop" + ewarn "nagios and then run" + ewarn "" + ewarn " diff --recursive --brief ${EROOT}/var/nagios ${EROOT}/var/lib/nagios" + ewarn "" + ewarn "to identify any files that should be moved to the new" + ewarn "location. They can simply be moved with \"mv\" before" + ewarn "restarting nagios." + fi +} diff --git a/net-analyzer/nagios-core/nagios-core-4.5.8.ebuild b/net-analyzer/nagios-core/nagios-core-4.5.8.ebuild new file mode 100644 index 000000000000..5898db53f9c4 --- /dev/null +++ b/net-analyzer/nagios-core/nagios-core-4.5.8.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs + +MY_P="${PN/-core}-${PV}" +DESCRIPTION="Nagios core - monitoring daemon, web GUI, and documentation" +HOMEPAGE="https://www.nagios.org/" + +# The name of the directory into which our Gentoo icons will be +# extracted, and also the basename of the archive containing it. +GENTOO_ICONS="${PN}-gentoo-icons-20141125" +SRC_URI="https://downloads.sourceforge.net/nagios/${MY_P}.tar.gz + web? ( https://dev.gentoo.org/~mjo/distfiles/${GENTOO_ICONS}.tar )" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ppc ppc64 ~sparc x86" +IUSE="apache2 classicui lighttpd +web vim-syntax" + +# In pkg_postinst(), we change the group of the Nagios configuration +# directory to that of the web server user. It can't belong to both +# apache/lighttpd groups at the same time, so we block this combination +# for our own sanity. +# +# This could be made to work, but we would need a better way to allow +# the web user read-only access to Nagios's configuration directory. +# +REQUIRED_USE="apache2? ( !lighttpd )" + +# +# Note, we require one of the apache2 CGI modules: +# +# * mod_cgi (USE=apache2_modules_cgi) +# * mod_cgid (USE=apache2_modules_cgid) +# * mod_fcgid (www-apache/mod_fcgid) +# +# We just don't care /which/ one. And of course PHP supports both CGI +# (USE=cgi) and FastCGI (USE=fpm). We're pretty lenient with the +# dependencies, and expect the user not to do anything /too/ +# stupid. (For example, installing Apache with only FastCGI support, and +# PHP with only CGI support.) +# +# Another annoyance is that the upstream Makefile uses app-arch/unzip to +# extract a snapshot of AngularJS, but that's only needed when USE=web. +# +MOD_ALIAS=apache2_modules_alias + +# The dependencies checked by the configure script. All of these are +# also runtime dependencies; that's why ./configure checks for them. +CONFIGURE_DEPEND="acct-group/nagios + acct-user/nagios + virtual/mailx + dev-lang/perl:=" + +# In addition to the things that the ./configure script checks for, +# we also need to be able to unzip stuff on the build host. +# +# We need the apache/lighttpd groups in src_install() for the things +# installed as the --with-command-group argument, so they go here too. +# The groups are also needed at runtime, but that is ensured by apache +# and lighttpd themselves being in RDEPEND. +BDEPEND="${CONFIGURE_DEPEND} + apache2? ( acct-group/apache ) + lighttpd? ( acct-group/lighttpd ) + web? ( app-arch/unzip )" + +# This is linked into /usr/bin/nagios{,tats} +DEPEND="dev-libs/libltdl:0" + +RDEPEND="${CONFIGURE_DEPEND} + ${DEPEND} + web? ( + media-libs/gd[jpeg,png] + lighttpd? ( www-servers/lighttpd[php] ) + apache2? ( + || ( + www-servers/apache[${MOD_ALIAS},apache2_modules_cgi] + www-servers/apache[${MOD_ALIAS},apache2_modules_cgid] + ( www-servers/apache[${MOD_ALIAS}] www-apache/mod_fcgid ) ) + || ( + dev-lang/php:*[apache2] + dev-lang/php:*[cgi] + dev-lang/php:*[fpm] ) + ) + ) + vim-syntax? ( app-vim/nagios-syntax )" + +src_configure() { + local myconf + + if use !apache2 && use !lighttpd ; then + myconf="${myconf} --with-command-group=nagios" + else + if use apache2 ; then + myconf="${myconf} --with-command-group=apache" + myconf="${myconf} --with-httpd-conf=/etc/apache2/conf.d" + elif use lighttpd ; then + myconf="${myconf} --with-command-group=lighttpd" + fi + fi + + # We pass "unknown" as the init type because we don't want it to + # guess. Later on, we'll manually install both OpenRC and systemd + # services. + econf ${myconf} \ + --prefix="${EPREFIX}/usr" \ + --bindir="${EPREFIX}/usr/sbin" \ + --localstatedir="${EPREFIX}/var/lib/nagios" \ + --sysconfdir="${EPREFIX}/etc/nagios" \ + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" \ + --with-cgibindir="${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin" \ + --with-webdir="${EPREFIX}/usr/share/nagios/htdocs" \ + --with-init-type="unknown" + + # The paths in the web server configuration files need to match + # those passed to econf above. + cp "${FILESDIR}/99_nagios4-r1.conf" \ + "${FILESDIR}/lighttpd_nagios4-r1.conf" \ + "${T}/" || die "failed to create copies of web server conf files" + + sed -e "s|@CGIBINDIR@|${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin|g" \ + -e "s|@WEBDIR@|${EPREFIX}/usr/share/nagios/htdocs|" \ + -i "${T}/99_nagios4-r1.conf" \ + -i "${T}/lighttpd_nagios4-r1.conf" \ + || die "failed to substitute paths into web server conf files" + +} + +src_compile() { + emake CC="$(tc-getCC)" nagios + + if use web; then + # Only compile the CGIs/HTML when USE=web is set. + emake CC="$(tc-getCC)" cgis html + fi +} + +src_install() { + dodoc Changelog CONTRIBUTING.md README.md THANKS UPGRADING + + # There is no way to install the CGIs unstripped from the top-level + # makefile, so descend into base/ here. The empty INSTALL_OPTS + # ensures that root:root: owns the nagios executables. + cd "${S}/base" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # Otherwise this gets installed as 770 and you get "access denied" + # for some reason or other when starting nagios. The permissions + # on nagiostats are just for consistency (these should both get + # fixed upstream). + fperms 775 /usr/sbin/nagios /usr/sbin/nagiostats + + # INSTALL_OPTS are needed for most of install-basic, but we don't + # want them on the LIBEXECDIR, argh. + emake DESTDIR="${D}" install-basic + fowners root:root /usr/$(get_libdir)/nagios/plugins + + # Don't make the configuration owned by the nagios user, because + # then he can edit nagios.cfg and trick nagios into running as root + # and doing his bidding. + emake INSTALL_OPTS="" DESTDIR="${D}" install-config + + # No INSTALL_OPTS used in install-commandmode, thankfully. + emake DESTDIR="${D}" install-commandmode + + # The build system installs these directories, but portage assumes + # that the build system doesn't know what it's doing so we have to + # keepdir them, too. I guess you'll have to manually re-check the + # upstream build system forever to see if this is still necessary. + keepdir /var/lib/nagios{,/archives,/rw,/spool,/spool/checkresults} + + if use web; then + # There is no way to install the CGIs unstripped from the + # top-level makefile, so descend into cgi/ here. The empty + # INSTALL_OPTS ensures that root:root: owns the CGI executables. + cd "${S}/cgi" || die + emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped + cd "${S}" || die + + # install-html installs the new exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-html + + if use classicui; then + # This overwrites the already-installed exfoliation theme + emake INSTALL_OPTS="" DESTDIR="${D}" install-classicui + fi + + # Install cute Gentoo icons (bug #388323), setting their + # owner, group, and mode to match those of the rest of Nagios's + # images. + insinto /usr/share/nagios/htdocs/images/logos + doins "${WORKDIR}/${GENTOO_ICONS}"/*.* + fi + + # The ./configure script for nagios detects the init system on the + # build host, which is wrong for all sorts of reasons. We've gone + # to great lengths above to avoid running "install-init" -- even + # indirectly -- and so now we must install whatever service files + # we need by hand. + newinitd startup/openrc-init nagios + systemd_newunit startup/default-service nagios.service + + if use web ; then + if use apache2 ; then + # Install the Nagios configuration file for Apache. + insinto "/etc/apache2/modules.d" + newins "${T}/99_nagios4-r1.conf" "99_nagios4.conf" + elif use lighttpd ; then + # Install the Nagios configuration file for Lighttpd. + insinto /etc/lighttpd + newins "${T}/lighttpd_nagios4-r1.conf" nagios.conf + else + ewarn "${CATEGORY}/${PF} only supports apache or lighttpd" + ewarn "out of the box. Since you are not using one of them, you" + ewarn "will have to configure your webserver yourself." + fi + fi +} + +pkg_postinst() { + + if use web; then + if use apache2 || use lighttpd ; then + if use apache2; then + elog "To enable the Nagios web front-end, please edit" + elog "${ROOT}/etc/conf.d/apache2 and add \"-D NAGIOS -D PHP\"" + elog "to APACHE2_OPTS. Then Nagios will be available at," + elog + elif use lighttpd; then + elog "To enable the Nagios web front-end, please add" + elog "'include \"nagios.conf\"' to the lighttpd configuration" + elog "file at ${ROOT}/etc/lighttpd/lighttpd.conf. Then Nagios" + elog "will be available at," + elog + fi + + elog " http://localhost/nagios/" + fi + fi + + elog + elog "If your kernel has /proc protection, nagios" + elog "will not be happy as it relies on accessing the proc" + elog "filesystem. You can fix this by adding nagios into" + elog "the group wheel, but this is not recomended." + elog + + if [ -n "${REPLACING_VERSIONS}" ]; then + ewarn "The local state directory for nagios has changed in v4.4.5," + ewarn "from ${EROOT}/var/nagios to ${EROOT}/var/lib/nagios. If you" + ewarn "wish to migrate your state to the new location, first stop" + ewarn "nagios and then run" + ewarn "" + ewarn " diff --recursive --brief ${EROOT}/var/nagios ${EROOT}/var/lib/nagios" + ewarn "" + ewarn "to identify any files that should be moved to the new" + ewarn "location. They can simply be moved with \"mv\" before" + ewarn "restarting nagios." + fi +} diff --git a/net-analyzer/nagios-icinga-openvpn/Manifest b/net-analyzer/nagios-icinga-openvpn/Manifest new file mode 100644 index 000000000000..6e9b6cd78f78 --- /dev/null +++ b/net-analyzer/nagios-icinga-openvpn/Manifest @@ -0,0 +1 @@ +DIST nagios-icinga-openvpn-0.0.1.tar.gz 4637 BLAKE2B 365b6450cccd5f7f25348583eae45c0b15932ec1e858d375171911e4108dd2b7fc133559a35399ece8d2a349f05b2f51897cf9e271f498b6bbaa2c6bba3551a9 SHA512 0dae6c2df71a20e287720767aa4ba41d0568f3cd4bd2a6eb252f86d810d3de265ddc38397df15bb1b115ba35ac68aa6e18345dc4432d4d13b08b500483ffbb11 diff --git a/net-analyzer/nagios-icinga-openvpn/metadata.xml b/net-analyzer/nagios-icinga-openvpn/metadata.xml new file mode 100644 index 000000000000..a6e780957ae0 --- /dev/null +++ b/net-analyzer/nagios-icinga-openvpn/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-icinga-openvpn/nagios-icinga-openvpn-0.0.1-r6.ebuild b/net-analyzer/nagios-icinga-openvpn/nagios-icinga-openvpn-0.0.1-r6.ebuild new file mode 100644 index 000000000000..529347fb18a3 --- /dev/null +++ b/net-analyzer/nagios-icinga-openvpn/nagios-icinga-openvpn-0.0.1-r6.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 + +MY_PN="check_openvpn" +DESCRIPTION="A Nagios plugin to check whether an OpenVPN server is alive" +HOMEPAGE="https://github.com/liquidat/nagios-icinga-openvpn" +SRC_URI="https://github.com/liquidat/nagios-icinga-openvpn/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~riscv" + +src_install() { + distutils-r1_src_install + + local nagiosplugindir="/usr/$(get_libdir)/nagios/plugins" + dodir "${nagiosplugindir}" + + # Create a symlink from the nagios plugin directory to the /usr/bin + # location. The "binary" in /usr/bin should also be a symlink, since + # the python machinery allows the user to switch out the + # interpreter. We don't want to mess with any of that, so we just + # point to whatever the system would use if the user executed + # ${MY_PN}. + # + # The relative symlink is preferred so that if the package is + # installed e.g. while in a chroot, the symlink will never point + # outside of that chroot. + # + dosym "../../../bin/${MY_PN}" "${nagiosplugindir}/${MY_PN}" +} diff --git a/net-analyzer/nagios-plugin-check_lm_sensors/Manifest b/net-analyzer/nagios-plugin-check_lm_sensors/Manifest new file mode 100644 index 000000000000..6c9406511fff --- /dev/null +++ b/net-analyzer/nagios-plugin-check_lm_sensors/Manifest @@ -0,0 +1 @@ +DIST nagios-plugin-check_lm_sensors-4.1.1_p20191028.tar.gz 21775 BLAKE2B d1b9946f45ea30e66baa87825c29aa64f18927ec5c07641d05789f189bc3aacb9764b3790eaa699d83c11860027bc36af9b85ba95b2845afa7533d03fd9d153d SHA512 4473719e5631edbebb8d8ee79578243a97c46cf70a14a2c780560df811f9d4d63081788b2059a9636f26d19a68ac0a44d6b68a4b386b1145d3f3fad8d60439fe diff --git a/net-analyzer/nagios-plugin-check_lm_sensors/metadata.xml b/net-analyzer/nagios-plugin-check_lm_sensors/metadata.xml new file mode 100644 index 000000000000..be2920870848 --- /dev/null +++ b/net-analyzer/nagios-plugin-check_lm_sensors/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sbraz@gentoo.org</email> + <name>Louis Sautier</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/matteocorti/check_lm_sensors/issues</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-plugin-check_lm_sensors/nagios-plugin-check_lm_sensors-4.1.1_p20191028.ebuild b/net-analyzer/nagios-plugin-check_lm_sensors/nagios-plugin-check_lm_sensors-4.1.1_p20191028.ebuild new file mode 100644 index 000000000000..cd457b7e25dc --- /dev/null +++ b/net-analyzer/nagios-plugin-check_lm_sensors/nagios-plugin-check_lm_sensors-4.1.1_p20191028.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit perl-module vcs-snapshot + +MY_PN="${PN/nagios-plugin-/}" +MY_COMMIT="80db8aa58be8f5d7800564d62305281be1ec8e6b" + +DESCRIPTION="Nagios plugin to monitor the values of onboard sensors and disk temperatures" +HOMEPAGE="https://github.com/matteocorti/check_lm_sensors" +SRC_URI="https://github.com/matteocorti/${MY_PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="dev-perl/Module-Install" +RDEPEND=" + dev-perl/JSON-MaybeXS + dev-perl/Monitoring-Plugin + virtual/perl-Getopt-Long +" + +src_compile() { + default + pod2man ${MY_PN}.pod > ${MY_PN}.1 || die +} + +src_install() { + perl-module_src_install + doman ${MY_PN}.1 + local plugindir="/usr/$(get_libdir)/nagios/plugins" + dodir "${plugindir}" + mv "${ED}/usr/bin/${MY_PN}" "${ED}/${plugindir}" || die +} diff --git a/net-analyzer/nagios-plugin-check_raid/Manifest b/net-analyzer/nagios-plugin-check_raid/Manifest new file mode 100644 index 000000000000..4eeb321c9ee5 --- /dev/null +++ b/net-analyzer/nagios-plugin-check_raid/Manifest @@ -0,0 +1 @@ +DIST nagios-plugin-check_raid-4.0.10.tar.gz 54895 BLAKE2B 6432624de419fca2d376362e5d13031272b6feeccdc6202b8a7eec92ab1f6c362ab88f9c912b10695c34347388dd154b12757a8b4268d30c0436589da060d5cc SHA512 1b8c353fbd0dff6fea5311c4149af16b1e1a5778794ef0085dcd8ee18f196579cca0b9f8c1ecef51f3ee36665aec6069f64ebe4d2e565bf7223bed59f2de5ee1 diff --git a/net-analyzer/nagios-plugin-check_raid/metadata.xml b/net-analyzer/nagios-plugin-check_raid/metadata.xml new file mode 100644 index 000000000000..0e707962a581 --- /dev/null +++ b/net-analyzer/nagios-plugin-check_raid/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + <longdescription lang="en"> + Nagios/Icinga plugin to check current server's RAID status; this tool + wraps MANY different RAID tools and provides a consistent check for + them. + </longdescription> + <use> + <flag name="3ware">Support 3ware RAID controllers</flag> + <flag name="aacraid">Support Adaptec AAC-RAID controllers</flag> + <flag name="dmraid">Support Device-Mapper RAID</flag> + <flag name="hpa">Support HP Array controllers</flag> + <flag name="hpsa">Support HP SmartArray (CCISS) controllers</flag> + <flag name="megaraid-sas">Support LSI MegaRAID SAS controllers</flag> + <flag name="mpt-sas2">Support LSI SAS-2 controllers</flag> + <flag name="mpt">Support LSI MPT Fusion controllers</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-plugin-check_raid/nagios-plugin-check_raid-4.0.10-r3.ebuild b/net-analyzer/nagios-plugin-check_raid/nagios-plugin-check_raid-4.0.10-r3.ebuild new file mode 100644 index 000000000000..e5295fefced0 --- /dev/null +++ b/net-analyzer/nagios-plugin-check_raid/nagios-plugin-check_raid-4.0.10-r3.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit perl-module + +#COMMIT="" +MY_PV="${COMMIT:-${PV}}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Nagios/Icinga plugin to check current server's RAID status" +HOMEPAGE="https://github.com/glensc/nagios-plugin-check_raid" +SRC_URI="https://github.com/glensc/nagios-plugin-check_raid/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="3ware aacraid dmraid hpa hpsa megaraid-sas mpt mpt-sas2" + +DEPEND=" + dev-perl/Monitoring-Plugin + dev-perl/Module-Pluggable" +RDEPEND="${DEPEND} + sys-apps/smartmontools + sys-fs/lsscsi + 3ware? ( sys-block/tw_cli ) + aacraid? ( sys-block/arcconf ) + dmraid? ( sys-fs/dmraid ) + hpa? ( sys-block/hpacucli ) + hpsa? ( sys-apps/cciss_vol_status ) + megaraid-sas? ( sys-block/megacli ) + mpt-sas2? ( sys-block/sas2ircu ) + mpt? ( sys-block/mpt-status )" + +src_prepare() { + default + + # Upstream has a custom Makefile that is meant to build bundles + sed -i '/CPANfile/d' Makefile.PL || die +} + +src_install() { + default + dodoc README.md CHANGELOG.md CONTRIBUTING.md check_raid.cfg + + local plugindir="/usr/$(get_libdir)/nagios/plugins" + dodir "${plugindir}" + mv -f "${ED}"/usr/bin/check_raid.pl "${ED}/${plugindir}" || die +} + +pkg_postinst() { + einfo "The following RAID controllers are supported without special tools:" + einfo "GDT (Intel/ICP) RAID Controller" + einfo "HP MSA (special configuration needed)" + einfo "The following RAID controllers do not have tools packaged in Gentoo, but ARE supported by this tool:" + einfo "Intel: CmdTool2" + einfo "Areca: areca-cli" + einfo "See https://github.com/glensc/nagios-plugin-check_raid/issues/10" + einfo "Marvell RAID: mvcli" + einfo "See https://github.com/glensc/nagios-plugin-check_raid/issues/92" + einfo "Adaptec ServeRAID: aaccli" + einfo "Adaptec AACRAID: afacli (* some controllers supported by USE=aacraid, sys-block/arcconf)" + einfo "Adaptec ServeRAID 7k: ipssend" +} diff --git a/net-analyzer/nagios-plugins-linux-madrisan/Manifest b/net-analyzer/nagios-plugins-linux-madrisan/Manifest new file mode 100644 index 000000000000..39c17cfb3de8 --- /dev/null +++ b/net-analyzer/nagios-plugins-linux-madrisan/Manifest @@ -0,0 +1,2 @@ +DIST nagios-plugins-linux-madrisan-34.tar.xz 399116 BLAKE2B f5fae6818c0aa87a140238cde28e7ea24fb19976274e301df03308c97d980e1ddfca51861d6302321b3959f67e426fdcf501787525d3a81ab6850ccaf4cc6d34 SHA512 a189135c590c5086bc7b3c1bb9f5ec1d15c55a542d39a578743abe62678dad961115b7180a62dfaf7ffc9f63679e33d0d2253b51feeae775fa1c5a3a7cd22149 +DIST nagios-plugins-linux-madrisan-35.tar.xz 402896 BLAKE2B 6fd73bf428fb86c19dd41a628f6aab8f416be2f4ae017da07ca8c143abaf009275ef251b90b3363fb32fd2c16bba5d7b3d8f6cf8aa9fa2a3d74ac9e4c0199ccd SHA512 ed157042e668b3e1cf570fa6c46677f5f5e290019ff2a9f86fa06d944942cffed77b25a413bf124f8d3a36592ebec7f7f6ec09d8efec1c0a619b6b07f1a4d0c8 diff --git a/net-analyzer/nagios-plugins-linux-madrisan/metadata.xml b/net-analyzer/nagios-plugins-linux-madrisan/metadata.xml new file mode 100644 index 000000000000..455bdab86afe --- /dev/null +++ b/net-analyzer/nagios-plugins-linux-madrisan/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sbraz@gentoo.org</email> + <name>Louis Sautier</name> + </maintainer> + <use> + <flag name="curl">Build check_container which requires <pkg>net-misc/curl</pkg> + </flag> + </use> + <upstream> + <bugs-to>https://github.com/madrisan/nagios-plugins-linux/issues</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-34.ebuild b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-34.ebuild new file mode 100644 index 000000000000..4cb8f2a417f3 --- /dev/null +++ b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-34.ebuild @@ -0,0 +1,48 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +MY_PN="nagios-plugins-linux" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Additional and alternative Nagios plugins for Linux" +HOMEPAGE="https://github.com/madrisan/nagios-plugins-linux" +SRC_URI="https://github.com/madrisan/${MY_PN}/releases/download/v${PV}/${MY_P}.tar.xz -> ${P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="curl systemd" + +DEPEND=" + curl? ( net-misc/curl:0= ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + # Avoid collision with net-analyzer/monitoring-plugins + # and net-analyzer/nagios-plugins + sed -ri "s/check_(load|swap|uptime|users)/&_madrisan/" plugins/Makefile.am || die + eautoreconf +} + +src_configure() { + local myconf=( + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" + # Most options are already defaults for Gentoo + --disable-hardening + $(use_enable curl libcurl) + $(use_enable systemd) + ) + econf "${myconf[@]}" +} + +src_test() { + emake check VERBOSE=1 +} diff --git a/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-35.ebuild b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-35.ebuild new file mode 100644 index 000000000000..f94f37f98012 --- /dev/null +++ b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-35.ebuild @@ -0,0 +1,48 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +MY_PN="nagios-plugins-linux" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Additional and alternative Nagios plugins for Linux" +HOMEPAGE="https://github.com/madrisan/nagios-plugins-linux" +SRC_URI="https://github.com/madrisan/${MY_PN}/releases/download/v${PV}/${MY_P}.tar.xz -> ${P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="curl systemd" + +DEPEND=" + curl? ( net-misc/curl:0= ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + # Avoid collision with net-analyzer/monitoring-plugins + # and net-analyzer/nagios-plugins + sed -ri "s/check_(load|swap|uptime|users)/&_madrisan/" plugins/Makefile.am || die + eautoreconf +} + +src_configure() { + local myconf=( + --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" + # Most options are already defaults for Gentoo + --disable-hardening + $(use_enable curl libcurl) + $(use_enable systemd) + ) + econf "${myconf[@]}" +} + +src_test() { + emake check VERBOSE=1 +} diff --git a/net-analyzer/nagios-plugins-snmp/Manifest b/net-analyzer/nagios-plugins-snmp/Manifest new file mode 100644 index 000000000000..ebcb179eda70 --- /dev/null +++ b/net-analyzer/nagios-plugins-snmp/Manifest @@ -0,0 +1 @@ +DIST nagios-plugins-snmp-0.6.0.tgz 381664 BLAKE2B 1a6124b5aa194123b17a1ce98a4e023a8d71f70a6c5ae61b8b54b204050f7914f100e1e639630955e45905f86282cab6a7034e5927b3db5b609beb315a66c748 SHA512 42fe9e2a9a99876d81731d821b7d1e4700f8637c8a890980f5cb3de4a3985210d86d38fd7ebbd7d075ff616da518cc932f5eb999f47fc3833ed62c1f7d4f4529 diff --git a/net-analyzer/nagios-plugins-snmp/files/nagios-plugins-snmp-0.6.0-fno-common.patch b/net-analyzer/nagios-plugins-snmp/files/nagios-plugins-snmp-0.6.0-fno-common.patch new file mode 100644 index 000000000000..926a96d74d1c --- /dev/null +++ b/net-analyzer/nagios-plugins-snmp/files/nagios-plugins-snmp-0.6.0-fno-common.patch @@ -0,0 +1,86 @@ +diff --git a/src/nagios_common_snmp.c b/src/nagios_common_snmp.c +index 5bdc571..73f96e8 100755 +--- a/src/nagios_common_snmp.c ++++ b/src/nagios_common_snmp.c +@@ -1,5 +1,21 @@ + #include "nagios_common_snmp.h"
+
++char plugin_name[30]; /* plugin name */
++char plugin_tmp_prefix[50];
++char output[MAX_OUTPUT];
++int output_overflow;
++char *p_output;
++char *o_host;
++int o_verb;
++char* error;
++int o_port,o_timeout;
++int o_help, o_verbose,o_version,o_v2c;
++int retries;
++int o_snmpver,snmp_bulk;
++char *o_community,*o_login,*o_passwd,*o_privpasswd;
++char *o_protocols[2],*o_authproto,*o_privproto;
++struct snmp_session session, *ss;
++
+ int init_plugins_gettext(){
+ if (setlocale( LC_ALL, "" )==NULL) return 1;
+ bindtextdomain( PACKAGE, LOCALEDIR );
+diff --git a/src/nagios_common_snmp.h b/src/nagios_common_snmp.h +index 8903fd0..1b3fa3a 100755 +--- a/src/nagios_common_snmp.h ++++ b/src/nagios_common_snmp.h +@@ -56,8 +56,8 @@ int init_plugins_gettext(); + /*********************************** Utilities ****************************************/
+ /* cache utilities */
+
+-char plugin_name[30]; /* plugin name */
+-char plugin_tmp_prefix[50];
++extern char plugin_name[30]; /* plugin name */
++extern char plugin_tmp_prefix[50];
+
+ /* defined in configure script */
+ /*#define BASE_CACHE "/tmp/cache"*/
+@@ -71,12 +71,12 @@ int write_cache(snmp_table **descT,int num); +
+ /* maximum caracters in ouput */
+ #define MAX_OUTPUT 500
+-char output[MAX_OUTPUT];
+-int output_overflow;
++extern char output[MAX_OUTPUT];
++extern int output_overflow;
+
+ /* maximum caracters for performance output label*/
+ #define MAX_LABEL_SIZE 50
+-char *p_output;
++extern char *p_output;
+
+ /* Put data in output */
+ void strcat_output(const char *string);
+@@ -143,18 +143,18 @@ int get_options (int narg, char* const valarg[],options_nagsnmp *liste, int n_li + #define TIMEOUT_DEFAULT 3
+
+ /* standard options */
+-char *o_host;
+-int o_verb;
+-char* error;
++extern char *o_host;
++extern int o_verb;
++extern char* error;
+ /* snmp options */
+-int o_port,o_timeout;
+-int o_help, o_verbose,o_version,o_v2c;
+-int retries;
+-int o_snmpver,snmp_bulk;
+-char *o_community,*o_login,*o_passwd,*o_privpasswd;
+-char *o_protocols[2],*o_authproto,*o_privproto;
++extern int o_port,o_timeout;
++extern int o_help, o_verbose,o_version,o_v2c;
++extern int retries;
++extern int o_snmpver,snmp_bulk;
++extern char *o_community,*o_login,*o_passwd,*o_privpasswd;
++extern char *o_protocols[2],*o_authproto,*o_privproto;
+ /* snmp sessions */
+-struct snmp_session session, *ss;
++extern struct snmp_session session, *ss;
+
+ /* Common options definition and check */
+ #define common_usage "[-v -V] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>) [-p <port>] [-t <timeout>]"
diff --git a/net-analyzer/nagios-plugins-snmp/metadata.xml b/net-analyzer/nagios-plugins-snmp/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagios-plugins-snmp/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-plugins-snmp/nagios-plugins-snmp-0.6.0-r2.ebuild b/net-analyzer/nagios-plugins-snmp/nagios-plugins-snmp-0.6.0-r2.ebuild new file mode 100644 index 000000000000..005fd81aef64 --- /dev/null +++ b/net-analyzer/nagios-plugins-snmp/nagios-plugins-snmp-0.6.0-r2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Additional Nagios plugins for monitoring SNMP capable devices" +HOMEPAGE="http://nagios.manubulon.com" +SRC_URI="http://nagios.manubulon.com/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ppc64 ~sparc x86" + +DEPEND=" + acct-group/nagios + acct-user/nagios + net-analyzer/net-snmp" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/nagios-plugins-snmp + +PATCHES=( "${FILESDIR}"/${P}-fno-common.patch ) + +src_prepare() { + default + sed -i -e '/^CFLAGS=""/d' configure.in || die + mv configure.{in,ac} || die + eautoreconf +} + +src_configure() { + econf \ + --sysconfdir="${EPREFIX}"/etc/nagios \ + --libexec="${EPREFIX}"/usr/$(get_libdir)/nagios/plugins +} + +src_install() { + default + + fowners root:nagios /usr/$(get_libdir)/nagios/plugins + fperms o-rwx /usr/$(get_libdir)/nagios/plugins +} diff --git a/net-analyzer/nagios-plugins/Manifest b/net-analyzer/nagios-plugins/Manifest new file mode 100644 index 000000000000..5b26e509708a --- /dev/null +++ b/net-analyzer/nagios-plugins/Manifest @@ -0,0 +1 @@ +DIST nagios-plugins-2.4.12.tar.gz 2752829 BLAKE2B b72b9350e9c72c9cbe0cbca3effce16ec753887945455a1ac47975105e68f516923020cc88ee42da0c8cd815fe841a82ff5053c3ba5688888bec7be12c08fb8c SHA512 fbff697d0cea1cbeb83737f240a42c00e18bf443b8af303b5d7f7f735eb6faa5305d8740fb27472876dc1398735204e0d7a0e5863c2064ec2a37541253f91502 diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch new file mode 100644 index 000000000000..570b0992bf7e --- /dev/null +++ b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch @@ -0,0 +1,143 @@ +From be90a1d9ae5b5e10015619271337e3a2c731b3bb Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 7 Sep 2024 19:51:27 -0400 +Subject: [PATCH] configure.ac: rewrite PostgreSQL detection using pg_config + +PostgreSQL installs a pg_config program that spits out its "include" +and "library" paths when called with --includedir and --libdir, +respectively. Using this we can simplify the detection of PostgreSQL, +since in theory the problem is reduced to that of finding pg_config. + +This commit replaces the existing PostgreSQL detection with a more +straightforward search for pg_config. The change is backwards- +compatible, in the sense that --with-pgsql=foo will still find the +postgres installation in "foo," except now it will do so through +foo/bin/pg_config rather than foo/include and foo/lib. + +This solves a rare problem: on systems where only one version of +postgres is allowed, or on systems where multiple versions exist but a +"default" version can be chosen, the most likely path for postgres is +--with-pgsql=/usr. With the current implementation, this leads to +"-I/usr/include" being added to CPPFLAGS, which is fine, and +"-L/usr/lib" being added to LDFLAGS, which is not. On some of those +same systems, /usr/lib is for 32-bit libraries while /usr/lib64 is the +"normal" (64-bit) library path. So as a result of detecting postgres +under /usr, the linker is pointed to the wrong set of libraries. This +is known to crash lld (the LLVM linker). +--- + configure.ac | 100 ++++++++++++++++++++++++++------------------------- + 1 file changed, 52 insertions(+), 48 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b67a7805..c69246c0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -209,56 +209,60 @@ if test "$enable_extra_opts" = "yes" ; then + fi + fi + +-dnl Check for PostgreSQL libraries +-_SAVEDLIBS="$LIBS" +-_SAVEDCPPFLAGS="$CPPFLAGS" ++dnl Check for PostgreSQL libraries. Postgres ships a pg_config program ++dnl that gives us the -I and -L flags we need, so the problem is reduced ++dnl to finding pg_config. When the user passes --with-pgsql=foo, we expect ++dnl that "foo" is something like /usr/lib64/postgresql-16, i.e. that we ++dnl can locate "bin/pg_config" there. This supports choosing one particular ++dnl version of postgres when multiple versions are installed. If the "foo" ++dnl argument is omitted, we instead use whatever pg_config (if any) is present ++dnl on the PATH. It is an error to request postgres support when no usable ++dnl pg_config is provided and one cannot be found. + AC_ARG_WITH(pgsql, + ACX_HELP_STRING([--with-pgsql=DIR], +- [sets path to pgsql installation]), +- PGSQL=$withval,) +-AC_CHECK_LIB(crypt,main) +-if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then +- if test -n "$PGSQL"; then +- LDFLAGS="$LDFLAGS -L$PGSQL/lib" +- CPPFLAGS="$CPPFLAGS -I$PGSQL/include" +- fi +- AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt) +- if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then +- AC_CHECK_HEADERS(pgsql/libpq-fe.h) +- AC_CHECK_HEADERS(postgresql/libpq-fe.h) +- AC_CHECK_HEADERS(libpq-fe.h) +- if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I$PGSQL/include" +- elif test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then +- PGLIBS="-lpq -lcrypt" +- PGINCLUDE="-I/usr/include/pgsql" +- elif test "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I/usr/include/postgresql" +- elif test "$ac_cv_header_libpq_fe_h" = "yes"; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I$PGSQL/include" +- fi +- if test -z "$PGINCLUDE"; then +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).]) +- else +- AC_SUBST(PGLIBS) +- AC_SUBST(PGINCLUDE) +- EXTRAS="$EXTRAS check_pgsql\$(EXEEXT)" +- fi +- else +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"]) +- AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) +- fi +-else +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) +-fi +-LIBS="$_SAVEDLIBS" +-CPPFLAGS="$_SAVEDCPPFLAGS" ++ [path to pgsql installation, i.e. path to bin/pg_config]), ++ PGSQL=$withval,PGSQL=no) ++ ++dnl --with-pgsql sans argument gives "yes" ++dnl --without-pgsql gives "no" (this is also the default, see above) ++dnl --with-pgsql=foo gives "foo" ++AS_IF([test "x${PGSQL}" = xno],[ ++ AC_MSG_WARN([Skipping PostgreSQL plugin]) ++],[ ++ _PG_CONFIG="" ++ ++ AS_IF([test "x${PGSQL}" = xyes],[ ++ AC_PATH_PROG(_PG_CONFIG, pg_config) ++ AS_IF([test -z "${_PG_CONFIG}"],[ ++ AC_MSG_ERROR([postgres support requested but pg_config not found]) ++ ]) ++ ],[ ++ AC_MSG_CHECKING([for usable ${PGSQL}/bin/pg_config]) ++ AS_IF([test -f "${PGSQL}/bin/pg_config" -a -x "${PGSQL}/bin/pg_config"],[ ++ AC_MSG_RESULT([yes]) ++ _PG_CONFIG="${PGSQL}/bin/pg_config" ++ ],[ ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([${PGSQL}/bin/pg_config not found or not executable]) ++ ]) ++ ]) ++ ++ dnl Sanity check: look for a header using the -I flags ++ dnl that we get from pg_config. ++ _SAVED_CPPFLAGS="${CPPFLAGS}" ++ PGINCLUDE="-I$(${_PG_CONFIG} --includedir)" ++ CPPFLAGS="${CPPFLAGS} ${PGINCLUDE}" ++ AC_CHECK_HEADER(libpq-fe.h,[ ++ PGLIBS="-L$(${_PG_CONFIG} --libdir) -lpq" ++ AC_SUBST(PGLIBS) ++ AC_SUBST(PGINCLUDE) ++ EXTRAS="$EXTRAS check_pgsql\$(EXEEXT)" ++ ],[ ++ AC_MSG_ERROR([libpq-fe.h not found]) ++ ]) ++ CPPFLAGS="${_SAVED_CPPFLAGS}" ++]) ++ + + AC_ARG_WITH([dbi], [AS_HELP_STRING([--without-dbi], [Skips the dbi plugin])]) + dnl Check for DBI libraries diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch new file mode 100644 index 000000000000..549ba3e30b71 --- /dev/null +++ b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch @@ -0,0 +1,128 @@ +From 37b27e058cc8a352a588c865e0319c23f6cb23d5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 17:45:53 -0500 +Subject: [PATCH 1/3] configure.ac: update net-snmp homepage + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6b443263..0308f5cb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1491,7 +1491,7 @@ then + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) + EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" + else +- AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins]) ++ AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) + fi + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + +From 8246d9c987b45586b5ceca2c81a671c642ad7106 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 17:47:34 -0500 +Subject: [PATCH 2/3] configure.ac: use AS_IF in net-snmp tests + +Not strictly required here, but the AS_IF macro is generally safer +because it handles (often unintentional) AC_REQUIRE calls. +--- + configure.ac | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0308f5cb..5aaf4eee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1486,23 +1486,21 @@ AC_ARG_WITH(snmpget_command, + ACX_HELP_STRING([--with-snmpget-command=PATH], + [Path to snmpget command]), + PATH_TO_SNMPGET=$withval) +-if test -n "$PATH_TO_SNMPGET" +-then ++AS_IF([test -n "$PATH_TO_SNMPGET"], [ + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) + EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" +-else ++], [ + AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) +-fi ++]) + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + AC_ARG_WITH(snmpgetnext_command, + ACX_HELP_STRING([--with-snmpgetnext-command=PATH], + [Path to snmpgetnext command]), + PATH_TO_SNMPGETNEXT=$withval) +-if test -n "$PATH_TO_SNMPGETNEXT" +-then ++AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) +-fi ++]) + + if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null ) + then + +From 1ceac49405e77b28e75118c5b537db84d73866a5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 18:10:06 -0500 +Subject: [PATCH 3/3] configure.ac: require snmpgetnext for check_snmp + +PATH_TO_SNMPGETNEXT is used unconditionally in plugins/check_snmp.c, +and the build will fail if it is left undefined (that is, if we are +building check_snmp but snmpgetnext was neither found on the user's +PATH or supplied manually). + +To avoid this build failure, we now test for snmpgetnext inside the +case for snmpget, and skip check_snmp unless BOTH are found. + +Closes GH-788 +--- + configure.ac | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5aaf4eee..ae2ea796 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1486,20 +1486,29 @@ AC_ARG_WITH(snmpget_command, + ACX_HELP_STRING([--with-snmpget-command=PATH], + [Path to snmpget command]), + PATH_TO_SNMPGET=$withval) +-AS_IF([test -n "$PATH_TO_SNMPGET"], [ +- AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) +- EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" +-], [ +- AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) +-]) + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + AC_ARG_WITH(snmpgetnext_command, + ACX_HELP_STRING([--with-snmpgetnext-command=PATH], + [Path to snmpgetnext command]), + PATH_TO_SNMPGETNEXT=$withval) +-AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ +- AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) ++ ++AS_IF([test -n "$PATH_TO_SNMPGET"], [ ++ AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) ++ EXTRAS="$EXTRAS check_hpjd" ++ ++ dnl PATH_TO_SNMPGETNEXT is used unconditionally in check_snmp: ++ dnl ++ dnl https://github.com/nagios-plugins/nagios-plugins/issues/788 ++ dnl ++ AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ ++ AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) ++ EXTRAS="$EXTRAS check_snmp\$(EXEEXT)" ++ ], [ ++ AC_MSG_WARN([Get snmpgetnext from https://net-snmp.sourceforge.io/ to build the check_snmp plugin]) ++ ]) ++], [ ++ AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to build the check_hpjd and check_snmp plugins]) + ]) + + if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null ) diff --git a/net-analyzer/nagios-plugins/metadata.xml b/net-analyzer/nagios-plugins/metadata.xml new file mode 100644 index 000000000000..ca27f75edb99 --- /dev/null +++ b/net-analyzer/nagios-plugins/metadata.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <use> + <flag name="ipv6"> + Enable ipv6 checks. + </flag> + <flag name="nagios-dns"> + Install <pkg>net-dns/bind-tools</pkg> required for monitoring + DNS servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="nagios-game"> + Install <pkg>games-util/qstat</pkg> required for monitoring FPS + servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="nagios-ping"> + Install <pkg>net-analyzer/fping</pkg> required for fancy ping + monitoring. Disabling the flag does not remove any plugin file. + </flag> + <flag name="rpc"> + Install <pkg>net-nds/rpcbind</pkg> required for monitoring RPC + services. Disabling the flag does not remove any plugin file. + </flag> + <flag name="ssh"> + Install <pkg>net-misc/openssh</pkg> required for monitoring SSH + servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="snmp" restrict=">=net-analyzer/nagios-plugins-1.4.16-r1"> + Install <pkg>dev-perl/Net-SNMP</pkg> required for monitoring + SNMP values. Disabling the flag does not remove any plugin file. + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.4.12-r4.ebuild b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12-r4.ebuild new file mode 100644 index 000000000000..b566275a248e --- /dev/null +++ b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12-r4.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Official plugins for Nagios" +HOMEPAGE="https://nagios-plugins.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game nls postgres samba selinux snmp ssh +ssl rpc" + +# Most of the plugins use automagic dependencies, i.e. the plugin will +# get built if the binary it uses is installed. For example, check_snmp +# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is +# installed. End result: most of our runtime dependencies are required +# at build time as well. +AUTOMAGIC_DEPEND=" + nagios-dns? ( net-dns/bind ) + nagios-game? ( games-util/qstat ) + nagios-ping? ( net-analyzer/fping ) + rpc? ( net-nds/rpcbind ) + samba? ( net-fs/samba ) + ssh? ( virtual/openssh ) + snmp? ( dev-perl/Net-SNMP + net-analyzer/net-snmp[-minimal] )" + +# Perl really needs to run during the build... +BDEPEND="${AUTOMAGIC_DEPEND} + dev-lang/perl" + +DEPEND=" + ldap? ( net-nds/openldap:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:* ) + ssl? ( + dev-libs/openssl:0= + )" + +# Basically everything in net-analyzer/monitoring-plugins collides with +# nagios-plugins. Perl (from BDEPEND) is needed at runtime, too. +RDEPEND="${BDEPEND} + ${DEPEND} + !net-analyzer/monitoring-plugins + selinux? ( sec-policy/selinux-nagios )" + +# At least one test is interactive. +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${P}-postgresql-detection.patch" + "${FILESDIR}/${P}-snmpgetnext.patch" +) + +DOCS=( + ACKNOWLEDGEMENTS + AUTHORS + CODING + ChangeLog + FAQ + NEWS + README + REQUIREMENTS + SUPPORT + THANKS +) + +# These all come from gnulib and the ./configure checks are working as +# intended when the functions aren't present. Bugs 907755 and 924341. +QA_CONFIG_IMPL_DECL_SKIP=( + statvfs64 + re_set_syntax + re_compile_pattern + re_search + re_match +) + +src_prepare() { + default + + # Fix the path to our perl interpreter + sed -i -e "1s:/usr/local/bin/perl:/usr/bin/perl:" \ + "${S}"/plugins-scripts/*.pl \ + || die 'failed to fix perl interpreter path' + + eautoreconf + + # eautoreconf replaces $(MKDIR_P) with $(mkdir_p) in + # po/Makefile.in.in. As you might expect, this does not work. + sed -i po/Makefile.in.in \ + -e 's/@mkdir_p@/@MKDIR_P@/' \ + || die +} + +src_configure() { + # Use an array to prevent econf from mangling the ping args. + local myconf=() + + if use ssl; then + myconf+=( $(use_with ssl openssl /usr) ) + else + myconf+=( --without-openssl ) + myconf+=( --without-gnutls ) + fi + + # The autodetection for these two commands can hang if localhost is + # down or ICMP traffic is filtered (bug #468296). But also the path + # likes to move around on us (bug #883765). + myconf+=( --with-ping-command="$(command -v ping) -n -U -w %d -c %d %s" ) + + if use ipv6; then + myconf+=( --with-ping6-command="$(command -v ping6) -n -U -w %d -c %d %s" ) + fi + + # Radius support has been broken for a long time and causes the build + # to fail (bug 957000, but before that too). I would recommend using + # net-analyzer/monitoring-plugins if you need check_radius. + econf \ + $(use_with ipv6) \ + $(use_with ldap) \ + $(use_with mysql) \ + $(use_enable nls) \ + $(use_with postgres pgsql /usr) \ + --without-radius \ + "${myconf[@]}" \ + --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ + --sysconfdir="/etc/nagios" +} + +pkg_postinst() { + elog "This ebuild has a number of USE flags that determine what you" + elog "are able to monitor. Depending on what you want to monitor, some" + elog "or all of these USE flags need to be set." + elog + elog "The plugins are installed in ${ROOT}/usr/$(get_libdir)/nagios/plugins" +} diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild new file mode 100644 index 000000000000..a10fd4c426e3 --- /dev/null +++ b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Official plugins for Nagios" +HOMEPAGE="https://nagios-plugins.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc ppc64 ~sparc x86" +IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game postgres radius samba selinux snmp ssh +ssl" + +# Most of the plugins use automagic dependencies, i.e. the plugin will +# get built if the binary it uses is installed. For example, check_snmp +# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is +# installed. End result: most of our runtime dependencies are required +# at build time as well. +AUTOMAGIC_DEPEND=" + nagios-dns? ( net-dns/bind-tools ) + nagios-game? ( games-util/qstat ) + nagios-ping? ( net-analyzer/fping ) + samba? ( net-fs/samba ) + ssh? ( virtual/openssh ) + snmp? ( dev-perl/Net-SNMP + net-analyzer/net-snmp[-minimal] )" + +# Perl really needs to run during the build... +BDEPEND="${AUTOMAGIC_DEPEND} + dev-lang/perl" + +DEPEND=" + ldap? ( net-nds/openldap:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:* ) + ssl? ( + dev-libs/openssl:0= + ) + radius? ( net-dialup/freeradius-client )" + +# Basically everything in net-analyzer/monitoring-plugins collides with +# nagios-plugins. Perl (from BDEPEND) is needed at runtime, too. +RDEPEND="${BDEPEND} + ${DEPEND} + !net-analyzer/monitoring-plugins + selinux? ( sec-policy/selinux-nagios )" + +# At least one test is interactive. +RESTRICT="test" + +DOCS=( + ACKNOWLEDGEMENTS + AUTHORS + CODING + ChangeLog + FAQ + NEWS + README + REQUIREMENTS + SUPPORT + THANKS +) + +# These all come from gnulib and the ./configure checks are working as +# intended when the functions aren't present. Bugs 907755 and 924341. +QA_CONFIG_IMPL_DECL_SKIP=( + statvfs64 + re_set_syntax + re_compile_pattern + re_search + re_match +) + +src_prepare() { + default + + # Fix the path to our perl interpreter + sed -i -e "1s:/usr/local/bin/perl:/usr/bin/perl:" \ + "${S}"/plugins-scripts/*.pl \ + || die 'failed to fix perl interpreter path' +} + +src_configure() { + # Use an array to prevent econf from mangling the ping args. + local myconf=() + + if use ssl; then + myconf+=( $(use_with ssl openssl /usr) ) + else + myconf+=( --without-openssl ) + myconf+=( --without-gnutls ) + fi + + # The autodetection for these two commands can hang if localhost is + # down or ICMP traffic is filtered (bug #468296). But also the path + # likes to move around on us (bug #883765). + myconf+=( --with-ping-command="$(command -v ping) -n -U -w %d -c %d %s" ) + + if use ipv6; then + myconf+=( --with-ping6-command="$(command -v ping6) -n -U -w %d -c %d %s" ) + fi + + econf \ + $(use_with mysql) \ + $(use_with ipv6) \ + $(use_with ldap) \ + $(use_with postgres pgsql /usr) \ + $(use_with radius) \ + "${myconf[@]}" \ + --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ + --sysconfdir="/etc/nagios" +} + +pkg_postinst() { + elog "This ebuild has a number of USE flags that determine what you" + elog "are able to monitor. Depending on what you want to monitor, some" + elog "or all of these USE flags need to be set." + elog + elog "The plugins are installed in ${ROOT}/usr/$(get_libdir)/nagios/plugins" +} diff --git a/net-analyzer/nagios/metadata.xml b/net-analyzer/nagios/metadata.xml new file mode 100644 index 000000000000..cbe90e654198 --- /dev/null +++ b/net-analyzer/nagios/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <longdescription> + Nagios is a host and service monitor designed to inform you of + network problems before your clients, end-users or managers do. It + has been designed to run under the Linux operating system, but + works fine under most *NIX variants as well. The monitoring daemon + runs intermittent checks on hosts and services you specify using + external "plugins" which return status information to Nagios. When + problems are encountered, the daemon can send notifications out to + administrative contacts in a variety of different ways (email, + instant message, SMS, etc.). Current status information, + historical logs, and reports can all be accessed via a web + browser. + </longdescription> + <upstream> + <remote-id type="cpe">cpe:/a:nagios:nagios</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagios/nagios-4.5.12.ebuild b/net-analyzer/nagios/nagios-4.5.12.ebuild new file mode 100644 index 000000000000..2c77143e18bf --- /dev/null +++ b/net-analyzer/nagios/nagios-4.5.12.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="The Nagios metapackage" +HOMEPAGE="https://www.nagios.org/" + +LICENSE="metapackage" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~sparc x86" + +RDEPEND="~net-analyzer/nagios-core-${PV} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins )" diff --git a/net-analyzer/nagios/nagios-4.5.13.ebuild b/net-analyzer/nagios/nagios-4.5.13.ebuild new file mode 100644 index 000000000000..1707d8cf0b6f --- /dev/null +++ b/net-analyzer/nagios/nagios-4.5.13.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="The Nagios metapackage" +HOMEPAGE="https://www.nagios.org/" + +LICENSE="metapackage" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND="~net-analyzer/nagios-core-${PV} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins )" diff --git a/net-analyzer/nagios/nagios-4.5.8.ebuild b/net-analyzer/nagios/nagios-4.5.8.ebuild new file mode 100644 index 000000000000..02d4a2e6f761 --- /dev/null +++ b/net-analyzer/nagios/nagios-4.5.8.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="The Nagios metapackage" +HOMEPAGE="https://www.nagios.org/" + +LICENSE="metapackage" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ppc ppc64 ~sparc x86" + +RDEPEND="~net-analyzer/nagios-core-${PV} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins )" diff --git a/net-analyzer/nagircbot/Manifest b/net-analyzer/nagircbot/Manifest new file mode 100644 index 000000000000..9ff6ca97341f --- /dev/null +++ b/net-analyzer/nagircbot/Manifest @@ -0,0 +1 @@ +DIST nagircbot-0.0.33.tgz 20085 BLAKE2B d419d1a7bcad1164c74490db4fb8a66ccbb0c9fbc761fe2807fe12d74d05297af3f307f9686971f246c9308a1f9e02c879f4461c116c68f4f403bf59c3836f63 SHA512 1e4d69cef4a425e8540ff408688cf7899c04098ec47acbd6da601f48e01f808958982e7d8a1519934bd5aa895fe0f8dedc51d80460f85097355d5bdea79fd708 diff --git a/net-analyzer/nagircbot/files/conf b/net-analyzer/nagircbot/files/conf new file mode 100644 index 000000000000..79fc899e11bd --- /dev/null +++ b/net-analyzer/nagircbot/files/conf @@ -0,0 +1,2 @@ +# Put nagircbot arguments here +# BOTCONF="-f /var/nagios/status.dat -s irc.freenode.net:6667 -c channel -k password -n name" diff --git a/net-analyzer/nagircbot/files/init b/net-analyzer/nagircbot/files/init new file mode 100644 index 000000000000..c9cb5a3539bf --- /dev/null +++ b/net-analyzer/nagircbot/files/init @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net +} + +start() { + ebegin "Starting nagircbot" + start-stop-daemon --start -x /usr/bin/nagircbot -- $BOTCONF + eend $? "Failed to start nagircbot" +} + +stop() { + ebegin "Stopping nagircbot" + start-stop-daemon --stop -x /usr/bin/nagircbot + eend $? "Failed to stop nagircbot" +} diff --git a/net-analyzer/nagircbot/metadata.xml b/net-analyzer/nagircbot/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagircbot/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagircbot/nagircbot-0.0.33.ebuild b/net-analyzer/nagircbot/nagircbot-0.0.33.ebuild new file mode 100644 index 000000000000..74adb3d2cf47 --- /dev/null +++ b/net-analyzer/nagircbot/nagircbot-0.0.33.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="An irc bot that alerts you to nagios changes" +HOMEPAGE="http://www.vanheusden.com/nagircbot" +SRC_URI="http://www.vanheusden.com/nagircbot/${P}.tgz" + +LICENSE="GPL-2" # GPL-2 only +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +DEPEND="dev-libs/openssl:0=" +RDEPEND="${DEPEND} +net-analyzer/nagios-core" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + cp -av Makefile{,.org} || die + + sed -i Makefile \ + -e 's:-lcrypto -lssl:$(shell ${PKG_CONFIG} --libs openssl):g' \ + -e 's:-O2::g;s:-g::g' \ + || die +} + +src_compile() { + tc-export PKG_CONFIG + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" +} + +src_install() { + dobin nagircbot + newconfd "${FILESDIR}"/conf nagircbot + newinitd "${FILESDIR}"/init nagircbot +} diff --git a/net-analyzer/nagstamon/Manifest b/net-analyzer/nagstamon/Manifest new file mode 100644 index 000000000000..d3a6f6e2d039 --- /dev/null +++ b/net-analyzer/nagstamon/Manifest @@ -0,0 +1 @@ +DIST nagstamon-3.16.2.tar.gz 582957 BLAKE2B a4c50f0d754590e81ee76bc8f97be8a15878575831b370fec68f713f8d09fcd48f54158f2656d5e46acb45c122054ff0e0cc4424ab39cbd438a1e7e713b27eb4 SHA512 af8e4f4db0be6966a93c636ad7a44da11d54376c866034dc2779d72250f6e22603f86aedd736cf4d476aae44950f0a02953c7c2dc71ec88d4685f46b05d11a29 diff --git a/net-analyzer/nagstamon/files/nagstamon-3.14.0-setup.patch b/net-analyzer/nagstamon/files/nagstamon-3.14.0-setup.patch new file mode 100644 index 000000000000..1bb994201637 --- /dev/null +++ b/net-analyzer/nagstamon/files/nagstamon-3.14.0-setup.patch @@ -0,0 +1,24 @@ +--- a/setup.py 2023-01-29 09:29:13.885165525 +0100 ++++ b/setup.py 2023-01-29 09:30:32.585630680 +0100 +@@ -45,6 +45,6 @@ + #VERSION = AppInfo.VERSION.replace('-', '.') + '.' + DIST + DIST_VERSION + VERSION = AppInfo.VERSION.replace('-', '.') +-NAGSTAMON_SCRIPT = 'nagstamon.py' ++NAGSTAMON_SCRIPT = 'nagstamon' + + from setuptools import setup + +@@ -120,12 +120,7 @@ + 'Nagstamon.Servers', + 'Nagstamon.Servers.Alertmanager', + 'Nagstamon.Servers.Centreon', +- 'Nagstamon.thirdparty', +- 'Nagstamon.thirdparty.Xlib', +- 'Nagstamon.thirdparty.Xlib.ext', +- 'Nagstamon.thirdparty.Xlib.protocol', +- 'Nagstamon.thirdparty.Xlib.support', +- 'Nagstamon.thirdparty.Xlib.xobject'], ++ 'Nagstamon.thirdparty'], + package_dir={'Nagstamon': 'Nagstamon'}, + package_data={'Nagstamon': ['resources/*.*', + 'resources/qui/*', diff --git a/net-analyzer/nagstamon/metadata.xml b/net-analyzer/nagstamon/metadata.xml new file mode 100644 index 000000000000..342d632ace6e --- /dev/null +++ b/net-analyzer/nagstamon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagstamon/nagstamon-3.16.2.ebuild b/net-analyzer/nagstamon/nagstamon-3.16.2.ebuild new file mode 100644 index 000000000000..0a115f2cab4d --- /dev/null +++ b/net-analyzer/nagstamon/nagstamon-3.16.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools + +inherit desktop distutils-r1 virtualx + +distutils_enable_tests pytest + +MY_PN="Nagstamon" +MY_P="${MY_PN}-${PV/_p/-}" + +DESCRIPTION="systray monitor for displaying realtime status of several monitoring systems" +HOMEPAGE="https://nagstamon.de" +SRC_URI="https://github.com/HenriWahl/Nagstamon/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pyqt6[gui,multimedia,svg,widgets,${PYTHON_USEDEP}] + dev-python/pysocks[${PYTHON_USEDEP}] + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/keyring[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/secretstorage[${PYTHON_USEDEP}] + >=dev-python/python-xlib-0.19[${PYTHON_USEDEP}] + dev-python/requests-kerberos[${PYTHON_USEDEP}]" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( dev-python/pylint[${PYTHON_USEDEP}] )" + +PATCHES=( "${FILESDIR}/${PN}-3.14.0-setup.patch" ) + +src_prepare() { + default_src_prepare + + # pre-compressed already + rm Nagstamon/resources/nagstamon.1.gz || die + sed -e 's:\(nagstamon\.1\)\.gz:\1:' \ + -e '/share/ s:^:#:' \ + -i setup.py || die + + mv ${PN}.py ${PN} || die + + rm -rf "${S}/Nagstamon/thirdparty/Xlib/" || die +} + +python_test() { + virtx epytest +} + +distutils-r1_python_install_all() { + default + + doman Nagstamon/resources/nagstamon.1 + domenu Nagstamon/resources/nagstamon.desktop + doicon Nagstamon/resources/nagstamon.svg +} diff --git a/net-analyzer/nagtrap/Manifest b/net-analyzer/nagtrap/Manifest new file mode 100644 index 000000000000..266183959c29 --- /dev/null +++ b/net-analyzer/nagtrap/Manifest @@ -0,0 +1 @@ +DIST nagtrap-0.1.3.tar.gz 141934 BLAKE2B 296f6688fd973adb7e8ff5879cbeccc17ae9acb685f55a2fb20c49281909f60270f66eff5083260c1bb8717762ad0cf9994134e165c2859251cbab97c3e2d188 SHA512 4603157beb35850a6f8b69919cd0ce8f108e6de8e85711b9c18665b69f91082d6703da396b1170633172cef630c2f3d73b717f1893cb4da6b6d15a3f577d445a diff --git a/net-analyzer/nagtrap/metadata.xml b/net-analyzer/nagtrap/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/nagtrap/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nagtrap/nagtrap-0.1.3-r1.ebuild b/net-analyzer/nagtrap/nagtrap-0.1.3-r1.ebuild new file mode 100644 index 000000000000..0b57ddc83426 --- /dev/null +++ b/net-analyzer/nagtrap/nagtrap-0.1.3-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Integrated snmptt visualization addon for the Nagios monitoring system" +HOMEPAGE="http://www.nagtrap.org/" +SRC_URI="http://www.nagiosforge.org/gf/download/frsrelease/126/252/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="virtual/httpd-php" +RDEPEND="dev-lang/php[mysql] + net-analyzer/snmptt + net-analyzer/nagios-core + virtual/httpd-php" + +src_install() { + dodoc ChangeLog THANKS + + dodir /usr/share/nagtrap + cp -r {db,nagtrap} "${ED}"/usr/share/nagtrap/ || die + fperms 640 /usr/share/nagtrap/nagtrap/etc/config.ini.php-dist + + sed -i -e 's#use lib.*#use lib "/usr/lib/nagios/plugins";#g' \ + plugin/check_snmptraps.pl || die "sed failed" + + insinto /usr/$(get_libdir)/nagios/plugins + insopts -m 750 -g nagios + doins plugin/check_snmptraps.pl +} + +pkg_postinst() { + elog "Before running NagTrap for the first time, you will need setup its configuration" + elog "${EROOT}/usr/share/nagtrap/nagtrap/etc/config.ini.php" + elog "A sample is installed in" + elog "${EROOT}/usr/share/nagtrap/nagtrap/etc/config.ini.php-sample" + elog + elog "NagTrap requires snmptt to write traps into a MySQL database." + elog "A database schema is available in ${EROOT}/usr/share/nagtrap/db" +} diff --git a/net-analyzer/nast/Manifest b/net-analyzer/nast/Manifest new file mode 100644 index 000000000000..89294fc11f3a --- /dev/null +++ b/net-analyzer/nast/Manifest @@ -0,0 +1 @@ +DIST nast-0.2.0.tar.gz 147568 BLAKE2B f51a0b3cebfac04cb3aa57f627099aecf893722ca8552c0e6f7f67266e13729e5c54c533cd7599c6d7cfa50c89ad5181439d4c1bc5bba883438213b45b4221ee SHA512 fbf29f9c2ae783e38d40054577a697f631c6590075ef80aa970002f1133c681a4cc1fcd715bc6140cc361c609dcebe8c6bf74544e8710363d30649398b3e388c diff --git a/net-analyzer/nast/files/0001-Fix-signal-handler.patch b/net-analyzer/nast/files/0001-Fix-signal-handler.patch new file mode 100644 index 000000000000..7961649e7db6 --- /dev/null +++ b/net-analyzer/nast/files/0001-Fix-signal-handler.patch @@ -0,0 +1,43 @@ +From eff649cd681e52b953dcf37065a7035246930858 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 12 Feb 2025 15:32:37 +0000 +Subject: [PATCH 1/2] Fix signal handler + +Signal handlers need to take an argument. + +Bug: https://bugs.gentoo.org/944402 +Signed-off-by: Sam James <sam@gentoo.org> +--- + common.c | 2 +- + include/nast.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/common.c b/common.c +index 5649295..f2b60f4 100644 +--- a/common.c ++++ b/common.c +@@ -226,7 +226,7 @@ void openfile(void) + } + + /* signal handler */ +-void sigexit() ++void sigexit(int unused) + { + #ifdef HAVE_LIBNCURSES + # include <ncurses.h> +diff --git a/include/nast.h b/include/nast.h +index f5cd047..a65a404 100644 +--- a/include/nast.h ++++ b/include/nast.h +@@ -73,7 +73,7 @@ int car (char *dev, int lg); + int run_bc (char *dev, char *filter); + + /* other functions*/ +-void sigexit(); ++void sigexit(int unused); + void openfile(void); + void bkg(void); + +-- +2.48.1 + diff --git a/net-analyzer/nast/files/0002-Fix-Wformat-security.patch b/net-analyzer/nast/files/0002-Fix-Wformat-security.patch new file mode 100644 index 000000000000..039950a6344e --- /dev/null +++ b/net-analyzer/nast/files/0002-Fix-Wformat-security.patch @@ -0,0 +1,58 @@ +From 63598f0194ec0b291af30d8d7b3ee7bab1cd0928 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 12 Feb 2025 15:35:13 +0000 +Subject: [PATCH 2/2] Fix -Wformat-security + +Signed-off-by: Sam James <sam@gentoo.org> +--- + bcount.c | 2 +- + ncurses/n_nast.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/bcount.c b/bcount.c +index 3130188..7987ac6 100644 +--- a/bcount.c ++++ b/bcount.c +@@ -153,7 +153,7 @@ void bytecounting () + else icons++; + + sprintf (value, "%Ld", number); +- printf (value); ++ printf ("%s", value); + + /* calculate space */ + if (strlen(value) < 6) printf ("\t\t"); +diff --git a/ncurses/n_nast.c b/ncurses/n_nast.c +index 3e02859..ba50f2f 100644 +--- a/ncurses/n_nast.c ++++ b/ncurses/n_nast.c +@@ -641,7 +641,7 @@ void title(void) + title = subwin(stdscr,3,COLS,0,0); + wbkgd(title,COLOR_PAIR(1)); + box(title,0,0); +- mvwprintw(title,1,(COLS-sizeof(TITLE))/2, TITLE); ++ mvwprintw(title,1,(COLS-sizeof(TITLE))/2, "%s", TITLE); + wrefresh(title); + } + +@@ -748,7 +748,7 @@ void pop_up_win(void) + pop_up = newwin(17,55,(LINES-17)/2,(COLS-55)/2); + wbkgd(pop_up,COLOR_PAIR(4)); + box(pop_up,0,0); +- mvwprintw(pop_up,0,(55 -strlen(message))/2, message); ++ mvwprintw(pop_up,0,(55 -strlen(message))/2, "%s", message); + wrefresh(pop_up); + } + +@@ -759,7 +759,7 @@ void help_win(void) + help = newwin(23,67,(LINES-23)/2,(COLS-67)/2); + wbkgd(help,COLOR_PAIR(4)); + box(help,0,0); +- mvwprintw(help,0,(67 -strlen(message))/2, message); ++ mvwprintw(help,0,(67 -strlen(message))/2, "%s", message); + wrefresh(help); + } + +-- +2.48.1 + diff --git a/net-analyzer/nast/files/nast-0.2.0-gentoo.patch b/net-analyzer/nast/files/nast-0.2.0-gentoo.patch new file mode 100644 index 000000000000..015354e51862 --- /dev/null +++ b/net-analyzer/nast/files/nast-0.2.0-gentoo.patch @@ -0,0 +1,104 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -83,22 +83,6 @@ + # -- libnet -- + # + +-filechk="yes" +-AC_CHECK_FILE(/usr/lib/libnet.a,, filechk="no") +-if test "$filechk" = "no"; then +- AC_CHECK_FILE(/usr/local/lib/libnet.a, filechk="yes" ; LDFLAGS="-L/usr/local/lib"; CPPFLAGS="-I/usr/local/include") +-fi +- +-if test "$filechk" = "no"; then AC_MSG_ERROR([ +- +-Libnet archive file (libnet.a) not found in /usr or /usr/local! +- +-Libnet-1.1.x Packet Shaping Library is required. +-You can download it from official web site: http://www.packetfactory.net/libnet +- +-]) +-fi +- + AC_CHECK_LIB(net, libnet_name2addr4,, AC_MSG_ERROR([ + + Libnet-1.1.x Packet Shaping Library not found! It's required. +@@ -110,22 +94,6 @@ + # -- libpcap -- + # + +-filechk="yes" +-AC_CHECK_FILE(/usr/lib/libpcap.a,, filechk="no") +-if test "$filechk" = "no"; then +- AC_CHECK_FILE(/usr/local/lib/libpcap.a, filechk="yes" ; LDFLAGS="-L/usr/local/lib"; CPPFLAGS="-I/usr/local/include") +-fi +- +-if test "$filechk" = "no"; then AC_MSG_ERROR([ +- +-Libpcap archive file (libpcap.a) not found in /usr or /usr/local! +- +-Libpcap-0.7.1 Packet Capture Library is required. +-You can download it from official web site: http://www.tcpdump.org/#current +- +-]) +-fi +- + AC_CHECK_LIB(pcap, pcap_dispatch,, AC_MSG_ERROR([ + + Libpcap-0.7.1 Packet Capture Library not found! It's required. +@@ -137,25 +105,7 @@ + # -- libncurses support -- + # + +-filechk="yes" +-AC_CHECK_FILE(/usr/lib/libncurses.a,, filechk="no") +-if test "$filechk" = "no"; then +- AC_CHECK_FILE(/usr/local/lib/libncurses.a, filechk="yes" ; LDFLAGS="-L/usr/local/lib"; CPPFLAGS="-I/usr/local/include") +-fi +- +-if test "$filechk" = "no"; +-then AC_MSG_WARN([ +- +-Libncurses archive file (libncurses.a) not found in /usr or /usr/local! +- +-Ncurses library (*) not found in your system. +-You can download it from official web site: http://www.gnu.org/software/ncurses/ncurses.html +-(*): CRT screen handling and optimization package +- +-Building without ncurses menu support (-G flag will doesn't work) +- +-]) +-fi ++PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],) + + ENABLE_NCRS="no" + AC_CHECK_LIB(ncurses, initscr, ENABLE_NCRS="yes"; NCURSES=ncurses/n_nast.o; LIBS="-lncurses $LIBS"; AC_DEFINE(HAVE_LIBNCURSES), AC_MSG_RESULT([ +@@ -173,28 +123,6 @@ + # --lmenu support-- + # + +-filechk="yes" +-AC_CHECK_FILE(/usr/lib/libmenu.a,, filechk="no") +-if test "$filechk" = "no"; then +- AC_CHECK_FILE(/usr/local/lib/libmenu.a, filechk="yes" ; LDFLAGS="-L/usr/local/lib"; CPPFLAGS="-I/usr/local/include") +-fi +- +-if test "$filechk" = "no"; +-then AC_MSG_WARN([ +- +-Menu archive file (libncurses.a) not found in /usr or /usr/local! +- +- +-Menu library (*) not found in your system. +-You can download it from official web site: http://www.gnu.org/software/ncurses/ncurses.html +-(*): CRT screen handling and optimization package +- +- +-Building without ncurses menu support (-G flag will doesn't work) +-]) +- +-fi +- + ENABLE_NCRS="no" + AC_CHECK_LIB(menu, menu_opts_off, ENABLE_NCRS="yes"; MENU=ncurses/n_menu.o; LIBS="-lmenu $LIBS"; AC_DEFINE(HAVE_LIBMENU), AC_MSG_RESULT([ + diff --git a/net-analyzer/nast/metadata.xml b/net-analyzer/nast/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/nast/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nast/nast-0.2.0-r4.ebuild b/net-analyzer/nast/nast-0.2.0-r4.ebuild new file mode 100644 index 000000000000..7417306e5b69 --- /dev/null +++ b/net-analyzer/nast/nast-0.2.0-r4.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="NAST - Network Analyzer Sniffer Tool" +HOMEPAGE="https://sourceforge.net/projects/nast.berlios/" +SRC_URI="https://downloads.sourceforge.net/${PN}.berlios/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 x86" +IUSE="ncurses" + +RDEPEND=" + >=net-libs/libnet-1.1.1 + net-libs/libpcap + ncurses? ( >=sys-libs/ncurses-5.4:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/0001-Fix-signal-handler.patch + "${FILESDIR}"/0002-Fix-Wformat-security.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cflags -fcommon + default +} + +src_compile() { + emake CFLAGS="${CFLAGS}" +} + +src_install() { + dosbin nast + doman nast.8 + dodoc AUTHORS BUGS CREDITS ChangeLog NCURSES_README README TODO +} diff --git a/net-analyzer/nbtscan/Manifest b/net-analyzer/nbtscan/Manifest new file mode 100644 index 000000000000..b7743fc91159 --- /dev/null +++ b/net-analyzer/nbtscan/Manifest @@ -0,0 +1 @@ +DIST nbtscan-1.7.2.tar.gz 29758 BLAKE2B 8e6af433a600865c391d0f7a72a8aa0b82d6ae61abedec8c2dc5cc89515f92c2ebdfd4868d578d4028b9aee4224b2f972bd574040db3c30caf9e0e59f9eb303a SHA512 b20eafe6737aa378e230dd2842e045bf2a48497e21b87ce6c534366cbb162862168a5c8143c0a69d495525caca75e91e437b87d9778e4cfe573b20461e2ccbbf diff --git a/net-analyzer/nbtscan/metadata.xml b/net-analyzer/nbtscan/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/nbtscan/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nbtscan/nbtscan-1.7.2.ebuild b/net-analyzer/nbtscan/nbtscan-1.7.2.ebuild new file mode 100644 index 000000000000..10d636b7e109 --- /dev/null +++ b/net-analyzer/nbtscan/nbtscan-1.7.2.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="NBTscan is a program for scanning IP networks for NetBIOS name information" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/nbtscan" +SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +DOCS=( AUTHORS CONTRIBUTING.md ChangeLog NEWS README.md ) + +src_prepare() { + default + + eautoreconf +} diff --git a/net-analyzer/nbwmon/Manifest b/net-analyzer/nbwmon/Manifest new file mode 100644 index 000000000000..d5c224c8bcf7 --- /dev/null +++ b/net-analyzer/nbwmon/Manifest @@ -0,0 +1 @@ +DIST nbwmon-0.5.2.tar.gz 5807 BLAKE2B 09d4a195de209595dac04a53c2ca06874634515f816f8fc6c2e954b9e6bd55bd06745152e537b997fcc2bfdece987f1a0ec04785fe2205bf4102115a060c6ecd SHA512 11502015b8a04d8a65c2f06d9e921c193c2e4968dbbd781791c30f35a2cf1135bbf784280b9070670be2b58c4355bf7bdf631d5932ec3a01637db803a4c88bf4 diff --git a/net-analyzer/nbwmon/files/nbwmon-0.5.2-tinfo.patch b/net-analyzer/nbwmon/files/nbwmon-0.5.2-tinfo.patch new file mode 100644 index 000000000000..0108844db99e --- /dev/null +++ b/net-analyzer/nbwmon/files/nbwmon-0.5.2-tinfo.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ + # add -I/usr/pkg/include and -L/usr/pkg/lib to the options + # below. + CFLAGS+=-std=c99 -pedantic -Wall -Wextra +-LDLIBS=-lncurses ++LDLIBS=$(shell $(PKG_CONFIG) --libs ncurses) + PREFIX=/usr/local + + BIN=nbwmon diff --git a/net-analyzer/nbwmon/metadata.xml b/net-analyzer/nbwmon/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/nbwmon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nbwmon/nbwmon-0.5.2.ebuild b/net-analyzer/nbwmon/nbwmon-0.5.2.ebuild new file mode 100644 index 000000000000..613256373c42 --- /dev/null +++ b/net-analyzer/nbwmon/nbwmon-0.5.2.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="ncurses bandwidth monitor" +HOMEPAGE="https://github.com/causes-/nbwmon" +SRC_URI="https://github.com/causes-/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/${PN}-0.5.2-tinfo.patch ) + +src_prepare() { + default + tc-export CC PKG_CONFIG +} + +src_install() { + dobin ${PN} + dodoc README +} diff --git a/net-analyzer/ndoutils/Manifest b/net-analyzer/ndoutils/Manifest new file mode 100644 index 000000000000..39089d59b9c6 --- /dev/null +++ b/net-analyzer/ndoutils/Manifest @@ -0,0 +1 @@ +DIST ndoutils-2.1.4.tar.gz 2188648 BLAKE2B 751e206c6f2827c1a1277e7b5f1d72285c21fa22a8f50d7c488c35ad66353392279bf9f6ecdce978874d0c90da15a95369f46f758994d33b861154161919e98b SHA512 cb6991d9d79f4c438833035fb8434b1cf0f5c27393506a422c134c2c49a5eec2a9f068a59a304515bba62b4f114204b86ec1e2cd7f68b61b329ac1a7b30ef5eb diff --git a/net-analyzer/ndoutils/files/c23-compatibility.patch b/net-analyzer/ndoutils/files/c23-compatibility.patch new file mode 100644 index 000000000000..39d568acd73b --- /dev/null +++ b/net-analyzer/ndoutils/files/c23-compatibility.patch @@ -0,0 +1,40 @@ +From c9e6b3476a36c9be81714c87ff75d3d1986e376d Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 18 Dec 2024 21:29:56 -0500 +Subject: [PATCH] include/queue.h: ensure prototypes match implementations + +In the latest C23 standard, the prototype + + int get_queue_id(); + +indicates that get_queue_id takes no arguments. This of course +disagrees with its implementation, which takes one argument. C23 will +be the default mode in GCC-15, where this leads to a build failure: + + queue.c:57:5: error: conflicting types for 'get_queue_id'; have 'int(int)' + 57 | int get_queue_id(int id) { + | ^~~~~~~~~~~~ + In file included from queue.c:30: + ../include/queue.h:40:5: note: previous declaration of 'get_queue_id' with + type 'int(void)' + 40 | int get_queue_id(); + | ^~~~~~~~~~~~ + +To fix it, we update the prototype for get_queue_id(). +--- + include/queue.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/queue.h b/include/queue.h +index 5f94e4d..4219c5b 100644 +--- a/include/queue.h ++++ b/include/queue.h +@@ -37,7 +37,7 @@ struct queue_msg + void del_queue(); + + /* initialize new queue or open existing */ +-int get_queue_id(); ++int get_queue_id(int); + + /* insert into queue */ + void push_into_queue(char*); diff --git a/net-analyzer/ndoutils/files/format-security.patch b/net-analyzer/ndoutils/files/format-security.patch new file mode 100644 index 000000000000..75be7dc32103 --- /dev/null +++ b/net-analyzer/ndoutils/files/format-security.patch @@ -0,0 +1,115 @@ +From 07891e8fcf692552c57e64429fd52da9e682f6d2 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 22 Jul 2017 16:38:03 -0400 +Subject: [PATCH 1/1] src/queue.c: fix format-security warnings with explicit + "%s" format string. + +The syslog() function takes as its second argument a format string (a +la printf), but if the third parameter is a string, then the format +string can be omitted. This has led to security vulnerabilities in the +past, and compilers can now warn about it. In particular, GCC has the +-Wformat-security option, which can be made an error with +-Werror=format-security. + +A few such two-argument calls were present in src/queue.c, where +constant strings were being logged to syslog. This commit adds the +second format string parameter (simply "%s" in this case) to avoid the +compiler warnings. + +More information about format-security can be found in Fedora's FAQ: + + https://fedoraproject.org/wiki/Format-Security-FAQ +--- + src/queue.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/src/queue.c b/src/queue.c +index 8cb7445..50bb519 100644 +--- a/src/queue.c ++++ b/src/queue.c +@@ -50,7 +50,7 @@ void del_queue() { + struct msqid_ds buf; + + if (msgctl(queue_id,IPC_RMID,&buf) < 0) { +- syslog(LOG_ERR,"Error: queue remove error.\n"); ++ syslog(LOG_ERR, "%s", "Error: queue remove error.\n"); + } + } + +@@ -58,7 +58,7 @@ int get_queue_id(int id) { + key_t key = ftok(NDO_QUEUE_PATH, NDO_QUEUE_ID+id); + + if ((queue_id = msgget(key, IPC_CREAT | 0600)) < 0) { +- syslog(LOG_ERR,"Error: queue init error.\n"); ++ syslog(LOG_ERR, "%s", "Error: queue init error.\n"); + } + } + +@@ -99,7 +99,7 @@ void log_retry( void) { + if(msgctl(queue_id, IPC_STAT, &queue_stats)) { + sprintf(curstats, "Unable to determine current message queue usage: error reading IPC_STAT: %d", errno); + sprintf(logmsg, logfmt, curstats); +- syslog(LOG_ERR, logmsg); ++ syslog(LOG_ERR, "%s", logmsg); + } + else { + #if defined( __linux__) +@@ -108,24 +108,24 @@ void log_retry( void) { + if( msgmni < 0) { + sprintf(curstats, "Unable to determine current message queue usage: error reading IPC_INFO: %d", errno); + sprintf(logmsg, logfmt, curstats); +- syslog(LOG_ERR, logmsg); ++ syslog(LOG_ERR, "%s", logmsg); + } + else { + sprintf(curstats, statsfmt, queue_stats.msg_qnum, + (unsigned long)msgmni, queue_stats.__msg_cbytes, + queue_stats.msg_qbytes); + sprintf(logmsg, logfmt, curstats); +- syslog(LOG_ERR, logmsg); ++ syslog(LOG_ERR, "%s", logmsg); + } + #else + sprintf(logmsg, logfmt, ""); +- syslog(LOG_ERR, logmsg); ++ syslog(LOG_ERR, "%s", logmsg); + #endif + } + last_retry_log_time = now; + } + else { +- syslog(LOG_ERR,"Warning: queue send error, retrying...\n"); ++ syslog(LOG_ERR, "%s", "Warning: queue send error, retrying...\n"); + } + } + +@@ -155,14 +155,14 @@ void push_into_queue (char* buf) { + #endif + } + if (retrynum < MAX_RETRIES) { +- syslog(LOG_ERR,"Message sent to queue.\n"); ++ syslog(LOG_ERR, "%s", "Message sent to queue.\n"); + } + else { +- syslog(LOG_ERR,"Error: max retries exceeded sending message to queue. Kernel queue parameters may need to be tuned. See README.\n"); ++ syslog(LOG_ERR, "%s", "Error: max retries exceeded sending message to queue. Kernel queue parameters may need to be tuned. See README.\n"); + } + } + else { +- syslog(LOG_ERR,"Error: queue send error.\n"); ++ syslog(LOG_ERR, "%s", "Error: queue send error.\n"); + } + } + +@@ -175,7 +175,7 @@ char* pop_from_queue() { + zero_string(msg.text, NDO_MAX_MSG_SIZE); + + if (msgrcv(queue_id, &msg, queue_buff_size, NDO_MSG_TYPE, MSG_NOERROR) < 0) { +- syslog(LOG_ERR,"Error: queue recv error.\n"); ++ syslog(LOG_ERR, "%s", "Error: queue recv error.\n"); + } + + int size = strlen(msg.text); +-- +2.13.0 + diff --git a/net-analyzer/ndoutils/files/openrc-init.patch b/net-analyzer/ndoutils/files/openrc-init.patch new file mode 100644 index 000000000000..07fcc63b7f3d --- /dev/null +++ b/net-analyzer/ndoutils/files/openrc-init.patch @@ -0,0 +1,100 @@ +From 61c6e9295bae755713b403626f702b5ac90f2448 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 22 Jul 2017 17:25:29 -0400 +Subject: [PATCH 1/1] startup: simplify the OpenRC init scripts and conf file. + +This commit largely rewrites the OpenRC init script with the goal of +simplifying it. The end result should be functionally the same, but is +much shorter. The changes are as follows: + + 1. Replace the deprecated /sbin/runscript shebang with /sbin/openrc-run. + + 2. Replace the existing dependencies with "need mysql nagios". The + ndo2db daemon needs Nagios to create the TCP or Unix socket over + which it will communicate, and obviously it needs mysql to be + up and running in order to save any data. The dependencies + of mysql and nagios themselves will bring up whatever else is + required; nothing else needs to be listed as a dependency of + ndo2db. + + 3. Use the "command", "command_args", and "pidfile" OpenRC + variables. OpenRC is smart enough to start and stop a well-behaved + daemon on its own without a custom start/stop function. By + specifying those three variables, we are able to eliminate much of + the custom start/stop code in the init script. + +Finally, the default value of NDO2DB_CFG in the associated conf file has +been updated to use @sysconfdir@ instead of @pkgsysconfdir@, which wasn't +having any effect. +--- + startup/openrc-conf.in | 6 ++---- + startup/openrc-init.in | 42 +++++++++--------------------------------- + 2 files changed, 11 insertions(+), 37 deletions(-) + +diff --git a/startup/openrc-conf.in b/startup/openrc-conf.in +index d7b5474..69b15b5 100644 +--- a/startup/openrc-conf.in ++++ b/startup/openrc-conf.in +@@ -1,4 +1,2 @@ +-# /etc/conf.d/ndo2db : config file for /etc/init.d/ndo2db +- +-# Configuration file - default is @sysconfdir@/ndo2db.cfg +-NDO2DB_CFG="@pkgsysconfdir@/ndo2db.cfg" ++# The configuration file to use for ndo2db. ++NDO2DB_CFG="@sysconfdir@/ndo2db.cfg" +diff --git a/startup/openrc-init.in b/startup/openrc-init.in +index 119e074..7b3fb40 100644 +--- a/startup/openrc-init.in ++++ b/startup/openrc-init.in +@@ -1,39 +1,15 @@ +-#!/sbin/runscript ++#!/sbin/openrc-run + # +-# Copyright (c) 2016 Nagios(R) Core(TM) Development Team ++# Copyright (c) 2017 Nagios(R) Core(TM) Development Team + # +-# Start/stop the Nagios Data Out Daemon. +-# +-# Goes in /etc/init.d - Config is in /etc/conf.d/ndo2db + +-NDO2DB_BIN="@sbindir@/ndo2db" +-NDO2DB_PID="@piddir@/ndo2db.pid" ++command="@sbindir@/ndo2db" ++command_args="-c ${NDO2DB_CFG}" ++description="Nagios Data Out daemon" ++pidfile="@piddir@/ndo2db.pid" + + depend() { +- use logger dns net localmount netmount nfsmount +-} +- +-checkconfig() { +- # Make sure the config file exists +- if [ ! -f $NDO2DB_CFG ]; then +- eerror "You need to setup $NDO2DB_CFG. +- return 1 +- fi +- return 0 +-} +- +-start() { +- checkconfig || return 1 +- ebegin "Starting ndo2db" +- # Make sure we have a sane current directory +- cd / +- start-stop-daemon --start --exec $NDO2DB_BIN --pidfile $PID_FILE \ +- -- -c $NDO2DB_CFG -f +- eend $? +-} +- +-stop() { +- ebegin "Stopping ndo2db" +- start-stop-daemon --stop --exec $NDO2DB_BIN --pidfile $PID_FILE +- eend $? ++ # The Nagios core daemon creates the socket that ndo2db tries to ++ # connect to upon starting. ++ need mysql nagios + } +-- +2.13.0 + diff --git a/net-analyzer/ndoutils/files/sample-config-piddir.patch b/net-analyzer/ndoutils/files/sample-config-piddir.patch new file mode 100644 index 000000000000..902038204988 --- /dev/null +++ b/net-analyzer/ndoutils/files/sample-config-piddir.patch @@ -0,0 +1,32 @@ +From 560db1e2bc79bb3321c5f431e149418ec3c28a98 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sun, 23 Jul 2017 07:13:46 -0400 +Subject: [PATCH 1/1] config/ndo2db.cfg-sample.in: use @piddir@ for the pid + file. + +The "lock_file" setting in ndo2db.cfg specifies where the daemon's pid +file should be stored. In the past, it was stored in @localstatedir@, +but @piddir@ is more appropriate. As evidence, all of the init scripts +in the "startup" directory reference @piddir@ and not @localstatedir@ +for the location of the pid file. This commit updates the sample +config to agree with the init scripts. +--- + config/ndo2db.cfg-sample.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/ndo2db.cfg-sample.in b/config/ndo2db.cfg-sample.in +index 75266dc..5b46fc9 100644 +--- a/config/ndo2db.cfg-sample.in ++++ b/config/ndo2db.cfg-sample.in +@@ -10,7 +10,7 @@ + # This is the lockfile that NDO2DB will use to store its PID number + # in when it is running in daemon mode. + +-lock_file=@localstatedir@/ndo2db.pid ++lock_file=@piddir@/ndo2db.pid + + + +-- +2.13.0 + diff --git a/net-analyzer/ndoutils/metadata.xml b/net-analyzer/ndoutils/metadata.xml new file mode 100644 index 000000000000..1152ee0787e9 --- /dev/null +++ b/net-analyzer/ndoutils/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild b/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild new file mode 100644 index 000000000000..3dbb09ef8ec0 --- /dev/null +++ b/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +DESCRIPTION="Nagios addon to store Nagios data in a database" +HOMEPAGE="https://github.com/NagiosEnterprises/ndoutils" +SRC_URI="https://github.com/NagiosEnterprises/${PN}/archive/${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~riscv ~x86" + +DEPEND=" + dev-db/mysql-connector-c + dev-perl/DBD-mysql + dev-perl/DBI" + +# The default value of the --with-ndo2db-{user,group} flag is "nagios". +# For unrelated reasons, we actually patch out the build-time dependency +# on the user/group, but it should still be there at runtime. +RDEPEND="${DEPEND} + acct-user/nagios + acct-group/nagios + virtual/mysql" + +PATCHES=( + "${FILESDIR}"/format-security.patch + "${FILESDIR}"/sample-config-piddir.patch + "${FILESDIR}"/openrc-init.patch + "${FILESDIR}"/c23-compatibility.patch +) + +src_prepare() { + default + + # ./configure is ancient and doesn't know that e.g. riscv exists + eautoreconf +} + +src_configure() { + # The localstatedir is where our socket will be created by the + # nagios daemon, so we put it in /var/lib/nagios where the "nagios" + # user will be able to write. + # + # And normally, we would use /run for the pid file, but the daemon + # drops permissions before creating it, so the piddir also needs + # to be writable by the nagios user. + # + # Oh, and the build fails without --enable-mysql, so don't try. + # + econf --enable-mysql \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-piddir=/var/lib/nagios +} + +src_compile() { + # Avoid "emake all" so that we don't build the stuff for nagios-2.x + # and nagios-3.x, some of which throws QA warnings. We don't use it + # anyway. + emake -C src file2sock log2ndo ndo2db-4x ndomod-4x.o sockdebug +} + +src_install() { + # The documentation isn't installed by the build system + HTML_DOCS=( docs/html/. ) + default + + dodoc Changelog UPGRADING \ + "docs/NDOUTILS DB Model.pdf" "docs/NDOUtils Documentation.pdf" + + systemd_newunit startup/default-service ndoutils.service + + insinto /etc/nagios + newins config/ndo2db.cfg-sample ndo2db.cfg + newins config/ndomod.cfg-sample ndomod.cfg + newinitd startup/openrc-init ndo2db + newconfd startup/openrc-conf ndo2db + + insinto /usr/share/ndoutils + doins -r db + + # These need to be executable... + exeinto /usr/share/ndoutils/db + doexe db/{installdb,prepsql,upgradedb} + + # Use symlinks because the installdb/upgradedb scripts use relative + # paths to the SQL queries. + dosym ../share/ndoutils/db/installdb /usr/bin/ndoutils-installdb + dosym ../share/ndoutils/db/upgradedb /usr/bin/ndoutils-upgradedb + + keepdir /var/lib/nagios +} + +pkg_postinst() { + elog "To include NDO in your Nagios setup, you'll need to activate" + elog "the NDO broker module in /etc/nagios/nagios.cfg:" + elog " broker_module=/usr/bin/ndomod.o config_file=/etc/nagios/ndomod.cfg" +} diff --git a/net-analyzer/ndsad/Manifest b/net-analyzer/ndsad/Manifest new file mode 100644 index 000000000000..cd1b6e07a2a4 --- /dev/null +++ b/net-analyzer/ndsad/Manifest @@ -0,0 +1 @@ +DIST ndsad-1.33.tgz 214614 BLAKE2B ca8e0f983d14cb43148411cead699dc140ca0cce60266b0aae6cb1836c643bd5c5d7aae6c34ae372af83a20e0e9ab39f92fcc46f2e2edbc70cf3968ee9b824dd SHA512 38ebca91f28d763ce334d92361779f100ee6b98d6d17485bf096f913f777e8525add63bd73aeea43321cee622e10cb88020aca7af492fbafdd50cf740510bd51 diff --git a/net-analyzer/ndsad/files/ndsad-1.33-conf_path.patch b/net-analyzer/ndsad/files/ndsad-1.33-conf_path.patch new file mode 100644 index 000000000000..cf3c827cdde7 --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad-1.33-conf_path.patch @@ -0,0 +1,11 @@ +--- a/ndsad.cc ++++ b/ndsad.cc +@@ -12,7 +12,7 @@ + */
+
+
+-#define conf_path "/netup/utm5/ndsad.cfg"
++#define conf_path "/etc/ndsad.conf"
+
+ #include "pcap.local.h"
+
diff --git a/net-analyzer/ndsad/files/ndsad-1.33-gentoo.patch b/net-analyzer/ndsad/files/ndsad-1.33-gentoo.patch new file mode 100644 index 000000000000..3ccbe3432932 --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad-1.33-gentoo.patch @@ -0,0 +1,23 @@ +--- a/configure.in ++++ b/configure.in +@@ -24,9 +24,6 @@ + AC_DEFINE(OS_BSD, 2,[BSD OS code]) + AC_DEFINE(OS_SOLARIS, 3,[SOLARIS on SPARC code]) + +-CFLAGS=-g +-CXXFLAGS=-g +- + AC_CHECK_LIB(pcap, pcap_loop, [LIBS="$LIBS -lpcap"; __ac_have_libpcap=1;], [ break ]) + + case "$host_os" in +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ +-bin_PROGRAMS = ndsad ++sbin_PROGRAMS = ndsad + + ndsad_SOURCES = linux_ulog.cc linux_ulog.h debug.h eth-hndl.h handlers.h iflist.h iptonf.h ldefs.h logger.h mempool.h nethdr.h nfc.h nf.h ppp-hndl.h thr.h config.cc debug.cc eth-hndl.cc handlers.cc iflist.cc iptonf.cc logger.cc mempool.cc ndsad.cc nf.cc nfc.cc ppp-hndl.cc thr.cc bsd_divert.cc bsd_divert.h + +-ndsad_CXXFLAGS = $(AM_CXXFLAGS) -O0 -fno-inline -g -ftemplate-depth-32 ++ndsad_CXXFLAGS = $(AM_CXXFLAGS) -fno-inline -ftemplate-depth-32 + ndsad_LDFLAGS = $(AM_LDFLAGS) diff --git a/net-analyzer/ndsad/files/ndsad-1.33-getpid.patch b/net-analyzer/ndsad/files/ndsad-1.33-getpid.patch new file mode 100644 index 000000000000..c0e6d94a301c --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad-1.33-getpid.patch @@ -0,0 +1,10 @@ +--- a/linux_ulog.h ++++ b/linux_ulog.h +@@ -8,6 +8,7 @@ + #include <pthread.h> + #include <iostream> + #include <sys/types.h> ++#include <unistd.h> /* getpid() */ + #include <sys/socket.h> + + /// linux specific headers! diff --git a/net-analyzer/ndsad/files/ndsad-1.33-log-path.patch b/net-analyzer/ndsad/files/ndsad-1.33-log-path.patch new file mode 100644 index 000000000000..fbeab07fb7a0 --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad-1.33-log-path.patch @@ -0,0 +1,11 @@ +--- a/ndsad.conf ++++ b/ndsad.conf +@@ -75,7 +75,7 @@ + # Default: + #log (null) + # Example: +-log /tmp/ndsad.log ++log /var/log/ndsad.log + + # Jump to another configuration file + # Current file is closed after this line! Beware of loops! diff --git a/net-analyzer/ndsad/files/ndsad-1.33-strncpy-overflow.patch b/net-analyzer/ndsad/files/ndsad-1.33-strncpy-overflow.patch new file mode 100644 index 000000000000..5078f1555ec6 --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad-1.33-strncpy-overflow.patch @@ -0,0 +1,12 @@ +--- a/handlers.h ++++ b/handlers.h +@@ -30,7 +30,8 @@ + #ifdef WIN32 + #define IFN_SIZE 512 // on windows iface names are VEERY long + #else +-#define IFN_SIZE 32 // iface name size. As in linux/sockios.h ++#include <net/if.h> ++#define IFN_SIZE IFNAMSIZ // iface name size. As in linux/sockios.h + #endif + + #define MPH_IFLIST 0x2 // iface type - for mempool diff --git a/net-analyzer/ndsad/files/ndsad.conf.d b/net-analyzer/ndsad/files/ndsad.conf.d new file mode 100644 index 000000000000..c216c39affec --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad.conf.d @@ -0,0 +1,8 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# See config file /etc/ndsad.conf for configuration options. + +# If you want to add any extra command line options to be used by ndsad on +# start-up put them here. +NDSAD_OPTS="" diff --git a/net-analyzer/ndsad/files/ndsad.init b/net-analyzer/ndsad/files/ndsad.init new file mode 100644 index 000000000000..0ae33b5d98ac --- /dev/null +++ b/net-analyzer/ndsad/files/ndsad.init @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checkconfig() { + if [ ! -f /etc/ndsad.conf ] ; then + eerror "/etc/ndsad.conf does not file exists!" + return 1 + fi + + return 0 +} + +start() { + # Comment out the following line to get faster startups + checkconfig || return 1 + + ebegin "Starting ndsad" + # On success ndsad returns 1. + start-stop-daemon --start --quiet --exec /usr/sbin/ndsad -- -d ${NDSAD_OPTS} >/dev/null 2>&1 + eend $(( $? - 1 )) +} + +stop () { + ebegin "Stopping ndsad" + start-stop-daemon --stop --quiet --pidfile=/run/ndsad.pid --retry 20 >/dev/null + eend $? +} diff --git a/net-analyzer/ndsad/metadata.xml b/net-analyzer/ndsad/metadata.xml new file mode 100644 index 000000000000..14074bd1e185 --- /dev/null +++ b/net-analyzer/ndsad/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + The NetUP ndsad (NetUp Data Stream Accounting Daemon) utility captures + IP-traffic from network interfaces and export NetFlow v.5. Data is + gathered from libpcap library on Unix and from winpcap on Windows. Also + you are able to use tee/divert sockets on FreeBSD and ULOG on Linux for + data source. + </longdescription> + <longdescription lang="ru"> + Демон ndsad (NetUp Data Stream Accounting Daemon) компании Ðетап + захватывает Ñетевой трафик Ñ Ñетевых интерфейÑов и ÑкÑпортирует его в + NetFlow v.5. Трафик ÑобираетÑÑ Ð¿Ñ€Ð¸ помощи библиотеки libpcap в Unix или + winpcap в Windows. Ð’ качеÑтве иÑточника данных вы также можете + иÑпользовать tee/divert Ñокеты в FreeBSD и ULOG в Linux. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ndsad/ndsad-1.33-r2.ebuild b/net-analyzer/ndsad/ndsad-1.33-r2.ebuild new file mode 100644 index 000000000000..d60e8c6b7702 --- /dev/null +++ b/net-analyzer/ndsad/ndsad-1.33-r2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="Cisco netflow probe from libpcap, ULOG, tee/divert sources" +HOMEPAGE="https://sourceforge.net/projects/ndsad" +SRC_URI="https://downloads.sourceforge.net/ndsad/ndsad-${PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86" + +DEPEND=" + >=net-libs/libpcap-0.8 +" +RDEPEND=" + ${DEPEND} +" +PATCHES=( + "${FILESDIR}"/${P}-conf_path.patch + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-getpid.patch + "${FILESDIR}"/${P}-log-path.patch + "${FILESDIR}"/${P}-strncpy-overflow.patch +) +DOCS=( ChangeLog AUTHORS README ) + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + + doman ndsad.conf.5 + + insinto /etc + newins ndsad.conf ndsad.conf + + newinitd "${FILESDIR}"/ndsad.init ndsad + newconfd "${FILESDIR}"/ndsad.conf.d ndsad +} diff --git a/net-analyzer/nessus-agent-bin/Manifest b/net-analyzer/nessus-agent-bin/Manifest new file mode 100644 index 000000000000..3f35f33d3508 --- /dev/null +++ b/net-analyzer/nessus-agent-bin/Manifest @@ -0,0 +1,2 @@ +DIST NessusAgent-11.1.1-el8.aarch64.rpm 14894744 BLAKE2B aa3d6039ce4d67582fb46d581c26d11de5f3ccc9b29deec953a696aaa714373668bfc39d1b4961a0ec7e01b4e923433d59991b0f47a0a6eb3eece529bb4781ec SHA512 7b8bbf6b05c8df29833eca33cbe1aa012500adfd57a9ecb5a7988c9436b357b5b2956666b54e91e99f940cf1351c8d624ff897fecbe6f19f62dfc0dea82d8234 +DIST NessusAgent-11.1.1-el8.x86_64.rpm 16106736 BLAKE2B 4db417a95938d04bf892581b9393bc9f4e17c3ffda2d5a0355512a8aa565c1c08f0c62529901e3887f66fc4591c74502d62dd1f8100e8855d1dc341ad7c94a12 SHA512 5be5ac4b122de758e044a3159e3790e97051bff1e1a050f5e87846f7021f01ba07641bba0fc6dceed89ee2ac65f1d0abbc0c75911ffaf99d199017d92d8753c8 diff --git a/net-analyzer/nessus-agent-bin/files/nessusagent.initd b/net-analyzer/nessus-agent-bin/files/nessusagent.initd new file mode 100644 index 000000000000..6f43fc421e1b --- /dev/null +++ b/net-analyzer/nessus-agent-bin/files/nessusagent.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +start() { + ebegin "Starting nessusagent" + start-stop-daemon --start --quiet --exec /opt/nessus_agent/sbin/nessus-service -- -D --quiet + eend $? +} + +stop() { + ebegin "Stopping nessusagent" + start-stop-daemon --stop --quiet --exec /opt/nessus_agent/sbin/nessus-service + einfo "Waiting for the environment to be sane" + while [ -n "$RUNNING" ] ; do + sleep 1 + RUNNING=$(ps aux | grep -m 1 nessusd: | grep -v grep) + done + sleep 3 + eend $? +} diff --git a/net-analyzer/nessus-agent-bin/metadata.xml b/net-analyzer/nessus-agent-bin/metadata.xml new file mode 100644 index 000000000000..226cac07a88f --- /dev/null +++ b/net-analyzer/nessus-agent-bin/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:tenable:nessus_agent</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nessus-agent-bin/nessus-agent-bin-11.1.1.ebuild b/net-analyzer/nessus-agent-bin/nessus-agent-bin-11.1.1.ebuild new file mode 100644 index 000000000000..6c1ac83123c5 --- /dev/null +++ b/net-analyzer/nessus-agent-bin/nessus-agent-bin-11.1.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit rpm systemd + +MY_P="NessusAgent-${PV}-el8" + +DESCRIPTION="A remote security scanner for Linux - agent component" +HOMEPAGE="https://www.tenable.com/" +SRC_URI=" + amd64? ( https://www.tenable.com/downloads/api/v2/pages/${PN/-bin/s}/files/${MY_P}.x86_64.rpm ) + arm64? ( https://www.tenable.com/downloads/api/v2/pages/${PN/-bin/s}/files/${MY_P}.aarch64.rpm ) +" + +S="${WORKDIR}" +LICENSE="GPL-2 Tenable-Master-Agreement" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm64" +RESTRICT="mirror strip" + +QA_PREBUILT="opt/nessus_agent/bin/* + opt/nessus_agent/lib/nessus/*.so* + opt/nessus_agent/lib/nessus/iconv/*.so + opt/nessus_agent/lib/nessus/libjemalloc.so.* + opt/nessus_agent/var/nessus/mod/com.tenable.* + opt/nessus_agent/sbin/*" + +src_install() { + # Using doins -r would strip executable bits from all binaries + cp -pPR "${S}"/opt "${D}"/ || die "Failed to copy files" + + # Make sure these originally empty directories do not vanish, + # Nessus will not run properly without them + keepdir /opt/nessus_agent/com/nessus/CA + keepdir /opt/nessus_agent/etc/nessus + keepdir /opt/nessus_agent/var/nessus/logs + keepdir /opt/nessus_agent/var/nessus/tmp + keepdir /opt/nessus_agent/var/nessus/users + + newinitd "${FILESDIR}"/nessusagent.initd nessusagent + systemd_dounit usr/lib/systemd/system/nessusagent.service +} + +pkg_postinst() { + # Actually update Nessus core components. According to upstream packages, + # harmless to invoke on fresh installations too - and it may make life easier + # for people who had restored Nessus state from backups, had it lying around + # from older installations and so on. + "${EROOT}"/opt/nessus_agent/sbin/nessuscli install "${EROOT}"/opt/nessus_agent/var/nessus/plugins-core.tar.gz + + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "In order to link the agent to Tenable.io or an instance of Nessus Manager," + elog "obtain an appropriate linking key and run" + elog "" + elog " /opt/nessus_agent/sbin/nessuscli agent link --key=<key> --host=<host> --port=<port> [optional parameters]" + elog "" + elog "This can be done before the agent is started." + else + elog "Please restart the nessusagent service to complete the update process" + fi +} diff --git a/net-analyzer/nessus-bin/Manifest b/net-analyzer/nessus-bin/Manifest new file mode 100644 index 000000000000..44a8c89864b2 --- /dev/null +++ b/net-analyzer/nessus-bin/Manifest @@ -0,0 +1,2 @@ +DIST Nessus-10.11.2-el8.aarch64.rpm 64366104 BLAKE2B 337ab194379ab754b01aeb481ab803d7a9c4a9592cfc958988594c421d90ca7590a26495e5b4843dae82742bac3467247c843b684d3ef204179f6a3e276f4d0f SHA512 ca89d33b4617ce281eb937c0cf5fb889a7865c571231c6105030d6b496a95a23a8dddb6e3ccc964c35b19e90ca56802b13341465da2767cced59f10f28a15a48 +DIST Nessus-10.11.2-el8.x86_64.rpm 65313504 BLAKE2B 48508a78a37e54c07df6ab53241a1f80cf72b4b249752f8e61f2abcb8259d862a92697d80cfe0c5de0b7a30d837cd753c657e0f59b56ef3333836f1030d94a4c SHA512 d54181f51e6a8d086598ea8028c80f74ca89df1418e596f52fc9b354adea7fc78005ab77d940a3b7d0b051c76d8f1159b0176a5938d3d7db6d01a952db81bb39 diff --git a/net-analyzer/nessus-bin/files/nessusd-initd b/net-analyzer/nessus-bin/files/nessusd-initd new file mode 100644 index 000000000000..fb95cb2b2d8e --- /dev/null +++ b/net-analyzer/nessus-bin/files/nessusd-initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + ebegin "Starting nessus-service" + start-stop-daemon --start --quiet --exec /opt/nessus/sbin/nessus-service -- -D --quiet + eend $? +} + +stop() { + ebegin "Stopping nessus-service" + start-stop-daemon --stop --quiet --exec /opt/nessus/sbin/nessus-service + einfo "Waiting for the environment to be sane" + while [ -n "$RUNNING" ] ; do + sleep 1 + RUNNING=$(ps aux | grep -m 1 nessusd: | grep -v grep) + done + sleep 3 + eend $? +} diff --git a/net-analyzer/nessus-bin/metadata.xml b/net-analyzer/nessus-bin/metadata.xml new file mode 100644 index 000000000000..21d63d872387 --- /dev/null +++ b/net-analyzer/nessus-bin/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:nessus:nessus</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nessus-bin/nessus-bin-10.11.2.ebuild b/net-analyzer/nessus-bin/nessus-bin-10.11.2.ebuild new file mode 100644 index 000000000000..d093fb98485b --- /dev/null +++ b/net-analyzer/nessus-bin/nessus-bin-10.11.2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit rpm systemd + +MY_P="Nessus-${PV}-el8" + +DESCRIPTION="A remote security scanner for Linux" +HOMEPAGE="https://www.tenable.com/" +SRC_URI=" + amd64? ( https://www.tenable.com/downloads/api/v2/pages/${PN%-bin}/files/${MY_P}.x86_64.rpm ) + arm64? ( https://www.tenable.com/downloads/api/v2/pages/${PN%-bin}/files/${MY_P}.aarch64.rpm ) +" + +S="${WORKDIR}" +LICENSE="GPL-2 Tenable-Master-Agreement" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm64" +RESTRICT="mirror strip" + +QA_PREBUILT="opt/nessus/bin/* + opt/nessus/lib/nessus/*.so* + opt/nessus/lib/nessus/iconv/*.so + opt/nessus/lib/nessus/libjemalloc.so.* + opt/nessus/sbin/*" + +src_install() { + # Using doins -r would strip executable bits from all binaries + cp -pPR "${S}"/opt "${D}"/ || die "Failed to copy files" + + # Make sure these originally empty directories do not vanish, + # Nessus will not run properly without them + keepdir /opt/nessus/com/nessus/CA + keepdir /opt/nessus/etc/nessus + keepdir /opt/nessus/var/nessus/logs + keepdir /opt/nessus/var/nessus/tmp + + newinitd "${FILESDIR}"/nessusd-initd nessusd-bin + systemd_newunit usr/lib/systemd/system/nessusd.service nessusd-bin.service +} + +pkg_postinst() { + # Actually update Nessus core components. According to upstream packages, + # harmless to invoke on fresh installations too - and it may make life easier + # for people who had restored Nessus state from backups, had it lying around + # from older installations and so on. + "${EROOT}"/opt/nessus/sbin/nessuscli install "${EROOT}"/opt/nessus/var/nessus/plugins-core.tar.gz + + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "To get started launch the nessusd-bin service, then point your Web browser to" + elog " https://<yourhost>:8834/" + else + elog "Please restart the nessusd-bin service to use the new version of Nessus" + fi +} diff --git a/net-analyzer/net-snmp/Manifest b/net-analyzer/net-snmp/Manifest new file mode 100644 index 000000000000..f495d2b23e18 --- /dev/null +++ b/net-analyzer/net-snmp/Manifest @@ -0,0 +1,2 @@ +DIST net-snmp-5.7.3-patches-3.tar.xz 3176 BLAKE2B 1a71d6743afb841f664c6058e32c7c411af62b0f36acd3bb9251804893ed12f462a0c5bab828e309eeec7824def2dca8fa866350b90a62ec4f0df1141b51ecae SHA512 d8a91b9668320a1e19d062eb86dd4d16beb7c2d15ac7ebbb9d2a4bd298af39bbb0a2613504dbb0057cccdec731f08f2308c5a15395e1fbc29bb0611ed8aca636 +DIST net-snmp-5.9.5.2.tar.gz 6826866 BLAKE2B 417b337ac32d19db55494b97742fab6f28fc64d488896efd943d6f65ca563b0385d6160923d064e3bf04e3197790c7834d7b644973a426dfa3cb7e81f6465c4c SHA512 c320c90e01377651fdff3aa9c373b9013f142fab23810d821174e546716ef2fa6499a805728710c67ca7fe238679111df392754c24ea4e01768faa5535ac7db2 diff --git a/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch b/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch new file mode 100644 index 000000000000..d2e372161e92 --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch @@ -0,0 +1,12 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=248329 + +--- a/local/snmpconf.in ++++ b/local/snmpconf.in +@@ -680,6 +680,7 @@ + } + } + close(O); ++ system("restorecon $outputf"); + } + } + diff --git a/net-analyzer/net-snmp/files/net-snmp-5.8-pcap.patch b/net-analyzer/net-snmp/files/net-snmp-5.8-pcap.patch new file mode 100644 index 000000000000..43692240acb6 --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.8-pcap.patch @@ -0,0 +1,41 @@ +--- a/configure.d/config_project_with_enable ++++ b/configure.d/config_project_with_enable +@@ -1187,6 +1187,11 @@ + [], + [with_bzip2="no"]) + ++AC_ARG_WITH([pcap], ++ [ --with-pcap[=DIR] use libpcap in DIR], ++ [], ++ [with_pcap="no"]) ++ + NETSNMP_ARG_WITH( + [mnttab], + AS_HELP_STRING( +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -583,14 +590,16 @@ + ## + # libpcap + ## +-NETSNMP_BUILD_PCAP_PROG_TRUE='#' +-NETSNMP_BUILD_PCAP_PROG_FALSE='' +-AC_CHECK_LIB([pcap], [pcap_create], [ +- AC_CHECK_HEADERS([pcap/pcap.h], [ +- NETSNMP_BUILD_PCAP_PROG_TRUE='' +- NETSNMP_BUILD_PCAP_PROG_FALSE='#' +- ]) +-]) ++if test "x$with_pcap" = "xyes" ; then ++ NETSNMP_BUILD_PCAP_PROG_TRUE='#' ++ NETSNMP_BUILD_PCAP_PROG_FALSE='' ++ AC_CHECK_LIB([pcap], [pcap_create], [ ++ AC_CHECK_HEADERS([pcap/pcap.h], [ ++ NETSNMP_BUILD_PCAP_PROG_TRUE='' ++ NETSNMP_BUILD_PCAP_PROG_FALSE='#' ++ ]) ++ ]) ++fi + AC_SUBST(NETSNMP_BUILD_PCAP_PROG_TRUE) + AC_SUBST(NETSNMP_BUILD_PCAP_PROG_FALSE) + diff --git a/net-analyzer/net-snmp/files/net-snmp-5.8.1-mysqlclient.patch b/net-analyzer/net-snmp/files/net-snmp-5.8.1-mysqlclient.patch new file mode 100644 index 000000000000..94811747d2b4 --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.8.1-mysqlclient.patch @@ -0,0 +1,30 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -25,6 +25,8 @@ + + AC_MSG_CACHE_INIT() + ++PKG_PROG_PKG_CONFIG ++ + # + # save the configure arguments + # +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -516,6 +516,8 @@ + # mysql + ## + if test "x$with_mysql" = "xyes" ; then ++ PKG_CHECK_MODULES([MYSQL],[mysqlclient],[MYSQL_INCLUDES="$MYSQL_CFLAGS"],) ++ if test -x "$MYSQL_LIBS"; then + AC_PATH_PROGS(MYSQLCONFIG,mysql_config) + test -x "$MYSQLCONFIG" \ + || AC_MSG_ERROR([Could not find mysql_config and was specifically asked to use MySQL support]) +@@ -523,6 +525,7 @@ + MYSQL_INCLUDES=`$MYSQLCONFIG --include` + _libs="${LIBS}" + _cppflags="${CPPFLAGS}" ++ fi + LIBS="${LIBS} ${MYSQL_LIBS}" + CPPFLAGS="${CPPFLAGS} ${MYSQL_INCLUDES}" + AC_CHECK_HEADER(mysql.h,, diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9-MakeMaker.patch b/net-analyzer/net-snmp/files/net-snmp-5.9-MakeMaker.patch new file mode 100644 index 000000000000..1c6a3fd1eaf3 --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9-MakeMaker.patch @@ -0,0 +1,10 @@ +--- a/perl/Makefile.PL ++++ b/perl/Makefile.PL +@@ -3,6 +3,7 @@ + use ExtUtils::MakeMaker; + use Config; + require 5; ++use lib '.'; + use MakefileSubs; + + # Prevent that MakeMaker complains about unknown parameter names. diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch new file mode 100644 index 000000000000..785f5ee57d1c --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch @@ -0,0 +1,231 @@ +https://github.com/net-snmp/net-snmp/pull/493 + +From 1151979ecfba1ef10627175549d052cb76ef9d21 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Dec 2022 02:26:29 +0000 +Subject: [PATCH 1/4] Fix LDFLAGS vs LIBS ordering + +LDFLAGS must come before both LIBS & any listed objects in order +for certain valid LDFLAGS, like '-Wl,--as-needed' to work correctly +(otherwise it'll either take no effect or discard libraries when +they're needed). + +Gentoo has been carrying this patch for a while. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/Makefile.top ++++ b/Makefile.top +@@ -86,11 +86,11 @@ LIBCURRENT = 40 + LIBAGE = 0 + LIBREVISION = 0 + +-LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o ++LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o + LIB_EXTENSION = la + LIB_VERSION = + LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(INSTALL_PREFIX)$(libdir) +-LINK = $(LIBTOOL) --mode=link $(LINKCC) ++LINK = $(LIBTOOL) --mode=link $(LINKCC) $(LDFLAGS) + # RANLIB = @RANLIB@ + RANLIB = : + +--- a/agent/Makefile.in ++++ b/agent/Makefile.in +@@ -288,26 +288,26 @@ all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS) + # build stuff targets + # + getkstat: getkstat.o +- $(CC) $(CFLAGS) -o $@ $? $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $? $(LIBS) + + getkstat.o: mibgroup/kernel_sunos5.c +- $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $? ++ $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $? + + getmibstat: getmibstat.o +- $(CC) $(CFLAGS) -o $@ $? $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $? $(LIBS) + + getmibstat.o: mibgroup/kernel_sunos5.c +- $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? ++ $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? + +-snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) +- $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} ++snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) ++ $(LINK) $(CFLAGS) $(LDFLAGS) -o $@ ${LAGENTOBJS} ${OUR_AGENT_LIBS} + + libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS) +- $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@ ++ $(LIB_LD_CMD) $(AGENTLIB) $(LDFLAGS) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@ + $(RANLIB) $(AGENTLIB) + + libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(AGENTLIB) $(USELIBS) subdirs +- $(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) $(LDFLAGS) ${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@ ++ $(LIB_LD_CMD) $(MIBLIB) $(LDFLAGS) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) ${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@ + $(RANLIB) $(MIBLIB) + + agentlib: $(AGENTLIB) +--- a/agent/helpers/Makefile.in ++++ b/agent/helpers/Makefile.in +@@ -32,5 +32,5 @@ LOBJS = dummy.lo + all: standardall + + libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION): $(LOBJS) +- $(LIB_LD_CMD) $@ $(LOBJS) $(LDFLAGS) ++ $(LIB_LD_CMD) $@ $(LDFLAGS) $(LOBJS) + $(RANLIB) $@ +--- a/apps/Makefile.in ++++ b/apps/Makefile.in +@@ -163,37 +163,37 @@ OTHERUNINSTALL=snmpinformuninstall snmptrapdperluninstall \ + # build rules + # + snmpwalk$(EXEEXT): snmpwalk.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LIBS} + + snmpbulkwalk$(EXEEXT): snmpbulkwalk.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LIBS} + + snmpbulkget$(EXEEXT): snmpbulkget.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LIBS} + + snmptranslate$(EXEEXT): snmptranslate.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LIBS} + + snmpstatus$(EXEEXT): snmpstatus.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LIBS} + + snmpget$(EXEEXT): snmpget.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpget.$(OSUFFIX) ${LIBS} + + snmpdelta$(EXEEXT): snmpdelta.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LIBS} + + snmptable$(EXEEXT): snmptable.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptable.$(OSUFFIX) ${LIBS} + + snmptest$(EXEEXT): snmptest.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptest.$(OSUFFIX) ${LIBS} + + snmptrapd$(EXEEXT): $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS) +- $(LINK) ${CFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} ${TRAPLIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) ${TRAPLIBS} + + snmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LIBS} + + snmpinform$(EXEEXT): snmptrap$(EXEEXT) + rm -f snmpinform +@@ -204,40 +204,40 @@ snmptop$(EXEEXT): snmpps$(EXEEXT) + $(LN_S) snmpps$(EXEEXT) snmptop$(EXEEXT) + + snmpset$(EXEEXT): snmpset.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpset.$(OSUFFIX) ${LIBS} + + snmpusm$(EXEEXT): snmpusm.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LIBS} + + snmpvacm$(EXEEXT): snmpvacm.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LIBS} + + snmptls$(EXEEXT): snmptls.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptls.$(OSUFFIX) ${LIBS} + + agentxtrap$(EXEEXT): agentxtrap.$(OSUFFIX) $(USEAGENTLIBS) +- $(LINK) ${CFLAGS} -o $@ agentxtrap.$(OSUFFIX) ${LDFLAGS} $(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ agentxtrap.$(OSUFFIX) $(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS} + + snmpgetnext$(EXEEXT): snmpgetnext.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LIBS} + + encode_keychange$(EXEEXT): encode_keychange.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LIBS} + + snmpdf$(EXEEXT): snmpdf.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LIBS} + + snmpps$(EXEEXT): snmpps.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS} ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpps.$(OSUFFIX) @LIBCURSES@ ${LIBS} + + snmpping$(EXEEXT): snmpping.$(OSUFFIX) $(USELIBS) +- $(LINK) ${CFLAGS} -o $@ snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpping.$(OSUFFIX) ${LIBS} -lm + + snmppcap$(EXEEXT): snmppcap.$(OSUFFIX) $(USEAGENTLIBS) +- $(LINK) ${CFLAGS} -o $@ snmppcap.$(OSUFFIX) ${LDFLAGS} ${USEAGENTLIBS} ${LIBS} -lpcap ++ $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmppcap.$(OSUFFIX) ${USEAGENTLIBS} ${LIBS} -lpcap + + libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION): $(LLIBTRAPD_OBJS) +- $(LIB_LD_CMD) $@ ${LLIBTRAPD_OBJS} $(MIBLIB) $(MYSQL_LIBS) $(USELIBS) $(PERLLDOPTS_FOR_LIBS) $(LDFLAGS) ++ $(LIB_LD_CMD) $@ $(LDFLAGS) ${LLIBTRAPD_OBJS} $(MIBLIB) $(MYSQL_LIBS) $(USELIBS) $(PERLLDOPTS_FOR_LIBS) + $(RANLIB) $@ + + snmpinforminstall: +--- a/apps/snmpnetstat/Makefile.in ++++ b/apps/snmpnetstat/Makefile.in +@@ -34,4 +34,4 @@ LIBS= ../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) $(VAL_LIBS) @LIBS + all: standardall + + snmpnetstat$(EXEEXT): ${LOBJS} ${USELIBS} +- ${LINK} ${CFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LDFLAGS} ${LIBS} ++ ${LINK} ${CFLAGS} ${LDFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LIBS} +--- a/snmplib/Makefile.in ++++ b/snmplib/Makefile.in +@@ -229,11 +229,11 @@ all: standardall + + # how to build the libraries. + libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS) +- $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@ ++ $(LIB_LD_CMD) $@ $(LDFLAGS) $(TOBJS) @LNETSNMPLIBS@ + $(RANLIB) $@ + + libsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS) +- $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@ ++ $(LIB_LD_CMD) $@ $(LDFLAGS) $(TOBJS) @LNETSNMPLIBS@ + $(RANLIB) $@ + + # +--- a/testing/Makefile.in ++++ b/testing/Makefile.in +@@ -64,16 +64,16 @@ test-mibs: + cd $(srcdir)/rfc1213 ; ./run + + etest: etimetest.o $(PARSEOBJS) $(USELIBS) +- ${CC} -o $@ etimetest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} ++ ${CC} ${LDFLAGS} -o $@ etimetest.o $(PARSEOBJS) ${LIBS} + + ktest: keymanagetest.o $(PARSEOBJS) $(USELIBS) +- ${CC} -o $@ keymanagetest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} ++ ${CC} ${LDFLAGS} -o $@ keymanagetest.o $(PARSEOBJS) ${LIBS} + + misctest: misctest.o $(PARSEOBJS) $(USELIBS) +- ${CC} -o $@ misctest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} ++ ${CC} ${LDFLAGS} -o $@ misctest.o $(PARSEOBJS) ${LIBS} + + stest: scapitest.o $(PARSEOBJS) $(USELIBS) +- ${CC} -o $@ scapitest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} ++ ${CC} ${LDFLAGS} -o $@ scapitest.o $(PARSEOBJS) ${LIBS} + + clean: testclean + rm -f *.o core *.core $(TARG) +-- +2.38.1 + diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch new file mode 100644 index 000000000000..83d05a86f0ac --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch @@ -0,0 +1,51 @@ +https://github.com/net-snmp/net-snmp/pull/493 + +From a73bda5ca7afbeaf3cf3b73101f7541cf92147ef Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Dec 2022 02:27:21 +0000 +Subject: [PATCH 2/4] Tidy up net-snmp-config output + +`net-snmp-config --libs` should return only the needed libraries linked to +libraries which external consumers should use. + +Gentoo has been carrying this patch for a while, as has Fedora. + +Bug: https://bugs.gentoo.org/693970 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/net-snmp-config.in ++++ b/net-snmp-config.in +@@ -193,13 +193,13 @@ else + #################################################### client lib + --libs) + # use this one == --netsnmp-libs + --external-libs +- echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS ++ echo $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS + ;; + --netsnmp-libs) + echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS + ;; + --external-libs) +- echo $NSC_LDFLAGS $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@ ++ echo $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@ + ;; + #################################################### agent lib + --base-agent-libs) +@@ -210,13 +210,13 @@ else + ;; + --agent-libs) + # use this one == --netsnmp-agent-libs + --external-libs +- echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS ++ echo $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS + ;; + --netsnmp-agent-libs) + echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS + ;; + --external-agent-libs) +- echo $NSC_LDFLAGS $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS ++ echo $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS + ;; + #################################################### + --version|--ver*) +-- +2.38.1 + diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch new file mode 100644 index 000000000000..8b825ae8cf5d --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch @@ -0,0 +1,30 @@ +https://github.com/net-snmp/net-snmp/pull/493 + +From 7261ea344004ac42b6099acfba49c0ea731d049c Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Dec 2022 02:29:45 +0000 +Subject: [PATCH 3/4] Prune Libs.private entries in netsnmp*.pc.in + +Gentoo has been carrying this patch for a while, as has Fedora. + +Bug: https://bugs.gentoo.org/693970 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/netsnmp-agent.pc.in ++++ b/netsnmp-agent.pc.in +@@ -9,4 +9,4 @@ URL: http://www.net-snmp.org + Version: @PACKAGE_VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp +-Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@ ++Libs.private: @LMIBLIBS@ @LAGENTLIBS@ @LNETSNMPLIBS@ @LIBS@ +--- a/netsnmp.pc.in ++++ b/netsnmp.pc.in +@@ -9,4 +9,4 @@ URL: http://www.net-snmp.org + Version: @PACKAGE_VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lnetsnmp +-Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@ ++Libs.private: @LNETSNMPLIBS@ @LIBS@ +-- +2.38.1 + diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch new file mode 100644 index 000000000000..c92c88cfbb2f --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch @@ -0,0 +1,24 @@ +https://github.com/net-snmp/net-snmp/pull/493 + +From 6b70bd4ffa7a905700807eecd3e07a472e2eda55 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Dec 2022 02:31:15 +0000 +Subject: [PATCH 4/4] Search for -ltinfo in configure if needed + +Gentoo has been carrying this patch for a while. + +Bug: https://bugs.gentoo.org/883945 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -774,6 +774,7 @@ NETSNMP_SEARCH_LIBS([endwin], [curses ncurses], [ + [HAVE_LIBCURSES=FALSE],, + [LIBCURSES]) + AC_SUBST([HAVE_LIBCURSES]) ++NETSNMP_SEARCH_LIBS([cbreak], [tinfo],[LIBCURSES="$LIBCURSES -ltinfo"],,,) + AC_SUBST([LIBCURSES]) + + # libm for ceil +-- +2.38.1 + diff --git a/net-analyzer/net-snmp/files/snmpd.conf b/net-analyzer/net-snmp/files/snmpd.conf new file mode 100644 index 000000000000..a3f88242a127 --- /dev/null +++ b/net-analyzer/net-snmp/files/snmpd.conf @@ -0,0 +1,19 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Initial (empty) options. +SNMPD_FLAGS="" + +# Disable smux by default +SNMPD_FLAGS="${SNMPD_FLAGS} -I -smux" + +# Enable connection logging. +#SNMPD_FLAGS="${SNMPD_FLAGS} -a" + +# Enable syslog and disable file log. +#SNMPD_FLAGS="${SNMPD_FLAGS} -Lsd -Lf /dev/null" + +# Enable agentx socket as /var/agentx/master +# *NOTE* Before uncommenting this, make sure +# the /var/agentx directory exists. +#SNMPD_FLAGS="${SNMPD_FLAGS} -x /var/agentx/master" diff --git a/net-analyzer/net-snmp/files/snmpd.init.2 b/net-analyzer/net-snmp/files/snmpd.init.2 new file mode 100644 index 000000000000..288fea0d5908 --- /dev/null +++ b/net-analyzer/net-snmp/files/snmpd.init.2 @@ -0,0 +1,34 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +SNMPD_PIDFILE="${SNMPD_PIDFILE:-/var/run/snmpd.pid}" + +extra_started_commands="reload" + +command="/usr/sbin/snmpd" +command_args="-p ${SNMPD_PIDFILE} ${SNMPD_FLAGS}" +pidfile="${SNMPD_PIDFILE}" + +depend() { + use logger +} + +checkconfig() { + if [ ! -e /etc/snmp/snmpd.conf ] ; then + eerror "${SVCNAME} requires an /etc/snmp/snmpd.conf configuration file" + return 1 + fi +} + +start_pre() { + checkconfig || return 1 +} + +reload() { + checkconfig || return 1 + + ebegin "Reloading ${SVCNAME} configuration" + kill -HUP $(cat ${SNMPD_PIDFILE}) 2>&1 > /dev/null + eend $? +} diff --git a/net-analyzer/net-snmp/files/snmpd.service b/net-analyzer/net-snmp/files/snmpd.service new file mode 100644 index 000000000000..8150d7b18818 --- /dev/null +++ b/net-analyzer/net-snmp/files/snmpd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Simple Network Management Protocol (SNMP) Daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/snmpd -f + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/net-snmp/files/snmptrapd.conf b/net-analyzer/net-snmp/files/snmptrapd.conf new file mode 100644 index 000000000000..bca2a5f4c8de --- /dev/null +++ b/net-analyzer/net-snmp/files/snmptrapd.conf @@ -0,0 +1,15 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# extra flags to pass to snmptrapd +SNMPTRAPD_FLAGS="" + +# ignore authentication failure traps +#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -a" + +# log messages to specified file +#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -Lf /var/log/snmptrapd.log" + +# log messages to syslog with the specified facility +# where facility is: 'd' = LOG_DAEMON, 'u' = LOG_USER, [0-7] = LOG_LOCAL[0-7] +#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -Ls d" diff --git a/net-analyzer/net-snmp/files/snmptrapd.init.2 b/net-analyzer/net-snmp/files/snmptrapd.init.2 new file mode 100644 index 000000000000..9787d6f05c38 --- /dev/null +++ b/net-analyzer/net-snmp/files/snmptrapd.init.2 @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +SNMPTRAPD_PIDFILE="${SNMPTRAPD_PIDFILE:-/var/run/snmptrapd.pid}" + +command="/usr/sbin/snmptrapd" +command_args="-p ${SNMPTRAPD_PIDFILE} ${SNMPTRAPD_FLAGS}" +pidfile="${SNMPTRAPD_PIDFILE}" + +depend() { + use logger +} diff --git a/net-analyzer/net-snmp/files/snmptrapd.service b/net-analyzer/net-snmp/files/snmptrapd.service new file mode 100644 index 000000000000..7d19444c1d73 --- /dev/null +++ b/net-analyzer/net-snmp/files/snmptrapd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Simple Network Management Protocol (SNMP) TRAP Daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/snmptrapd -f + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/net-snmp/metadata.xml b/net-analyzer/net-snmp/metadata.xml new file mode 100644 index 000000000000..3cb5892c0e41 --- /dev/null +++ b/net-analyzer/net-snmp/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="elf">Enable the use of elf utils to check uptime on some systems</flag> + <flag name="kmem">Enable usage of /dev/kmem</flag> + <flag name="mfd-rewrites">Use MFD rewrites of mib modules where available</flag> + <flag name="pcap">Install snmppcap which reads from PCAP files and writes to the SNMP transport</flag> + <flag name="pci">Use libpci (from <pkg>sys-apps/pciutils</pkg>) to look up network interface description. This feature is only available on Linux.</flag> + <flag name="pcre">Add support for Perl Compatible Regular Expressions in process table filtering.</flag> + <flag name="rpm">Enable monitoring of <pkg>app-arch/rpm</pkg>. This flag requires the bzip2 and zlib flags to be enabled as well.</flag> + <flag name="smux">Enable support for the legacy smux protocol (superseded by agentx)</flag> + <flag name="ucd-compat">Build UCD compatibility library. Increases significantly the install size.</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:net-snmp:net-snmp</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild b/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild new file mode 100644 index 000000000000..b5e253403aad --- /dev/null +++ b/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no +PYTHON_COMPAT=( python3_{13..14} ) +WANT_AUTOMAKE=none + +inherit autotools python-single-r1 libtool perl-module systemd + +DESCRIPTION="Software for generating and retrieving SNMP data" +HOMEPAGE="https://www.net-snmp.org/" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/net-snmp/net-snmp" + inherit git-r3 +else + # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +SRC_URI+=" https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz" + +# GPL-2 for the init scripts +LICENSE="HPND BSD GPL-2" +SLOT="0/40" +IUSE=" + X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mysql + pcap pci pcre perl python rpm selinux smux ssl tcpd ucd-compat valgrind zlib + ${GENTOO_PERL_USESTRING} +" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + rpm? ( bzip2 zlib ) +" + +COMMON_DEPEND=" + dev-libs/libnl:3 + virtual/libcrypt:= + bzip2? ( app-arch/bzip2 ) + elf? ( dev-libs/elfutils ) + lm-sensors? ( sys-apps/lm-sensors ) + mysql? ( dev-db/mysql-connector-c:0= ) + pcap? ( net-libs/libpcap ) + pci? ( sys-apps/pciutils ) + pcre? ( dev-libs/libpcre ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ${PYTHON_DEPS} + ) + rpm? ( + app-arch/rpm + dev-libs/popt + ) + ssl? ( + >=dev-libs/openssl-0.9.6d:0= + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + zlib? ( >=virtual/zlib-1.1.4:= ) +" +BDEPEND="doc? ( app-text/doxygen )" +DEPEND=" + ${COMMON_DEPEND} + valgrind? ( dev-debug/valgrind ) +" +RDEPEND=" + ${COMMON_DEPEND} + perl? ( + X? ( dev-perl/Tk ) + !minimal? ( + dev-perl/JSON + dev-perl/Mail-Sender + dev-perl/TermReadKey + ) + ) + selinux? ( sec-policy/selinux-snmp ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.8-pcap.patch + "${FILESDIR}"/${PN}-5.8.1-mysqlclient.patch + "${FILESDIR}"/${PN}-5.9-MakeMaker.patch + # https://github.com/net-snmp/net-snmp/pull/493 + "${FILESDIR}"/${PN}-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch + "${FILESDIR}"/${PN}-5.9.3-0002-Tidy-up-net-snmp-config-output.patch + "${FILESDIR}"/${PN}-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch + "${FILESDIR}"/${PN}-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + + [[ ${PV} == 9999 ]] && git-r3_src_unpack +} + +src_prepare() { + # snmpconf generates config files with proper selinux context + use selinux && eapply "${FILESDIR}"/${PN}-5.1.2-snmpconf-selinux.patch + + mv "${WORKDIR}"/patches/0001-Fix-toolchain-quadruplet-detection-Gentoo-bug-432004.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0002-Respect-DESTDIR-for-pythoninstall.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0004-Don-t-report-CFLAGS-and-LDFLAGS-in-net-snmp-config.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0005-Respect-LDFLAGS-properly.patch{,.disabled} || die + eapply "${WORKDIR}"/patches/*.patch + + # Fails because of our eautoconf call + rm testing/fulltests/default/T000configure_simple || die + + default + + eautoconf + elibtoolize +} + +src_configure() { + # keep this in the same line, configure.ac arguments are passed down to config.h + local mibs="host ucd-snmp/dlmod ucd-snmp/diskio ucd-snmp/extensible mibII/mta_sendmail etherlike-mib/dot3StatsTable" + use lm-sensors && mibs="${mibs} ucd-snmp/lmsensorsMib" + use smux && mibs="${mibs} smux" + + # Assume /etc/mtab is not present with a recent baselayout/openrc (bug #565136) + use kernel_linux && export ac_cv_ETC_MNTTAB=/etc/mtab + + export ac_cv_header_valgrind_{valgrind,memcheck}_h=$(usex valgrind) + + econf \ + $(use_enable !ssl internal-md5) \ + $(use_enable ipv6) \ + $(use_enable mfd-rewrites) \ + $(use_enable perl embedded-perl) \ + $(use_enable ucd-compat ucd-snmp-compatibility) \ + $(use_with bzip2) \ + $(use_with elf) \ + $(use_with kmem kmem-usage) \ + $(use_with mysql) \ + --with-nl \ + $(use_with pcap) \ + $(use_with pci) \ + $(use_with pcre) \ + $(use_with perl perl-modules INSTALLDIRS=vendor) \ + $(use_with python python-modules) \ + $(use_with rpm) \ + $(use_with ssl openssl) \ + $(use_with tcpd libwrap) \ + $(use_with zlib) \ + --enable-shared \ + --with-default-snmp-version="3" \ + --with-ldflags="${LDFLAGS}" \ + --with-logfile="/var/log/net-snmpd.log" \ + --with-mib-modules="${mibs}" \ + --with-persistent-directory="/var/lib/net-snmp" \ + --with-sys-contact="root@unknown" \ + --with-sys-location="Unknown" +} + +src_compile() { + emake sedscript + + local subdir + for subdir in snmplib agent/mibgroup agent apps .; do + emake OTHERLDFLAGS="${LDFLAGS}" -C ${subdir} all + done + + use doc && emake docsdox +} + +src_test() { + emake -Onone test +} + +src_install() { + # https://github.com/net-snmp/net-snmp/issues/1035 (bug #967912) + sed -i -e 's:-Werror=declaration-after-statement ::' net-snmp-config || die + + # bug #317965 + emake -j1 DESTDIR="${D}" install + + use python && python_optimize + + if use perl ; then + perl_delete_localpod + if ! use X; then + rm "${D}"/usr/bin/tkmib || die + fi + else + rm -f \ + "${D}"/usr/bin/fixproc \ + "${D}"/usr/bin/ipf-mod.pl \ + "${D}"/usr/bin/mib2c \ + "${D}"/usr/bin/net-snmp-cert \ + "${D}"/usr/bin/snmp-bridge-mib \ + "${D}"/usr/bin/snmpcheck \ + "${D}"/usr/bin/snmpconf \ + "${D}"/usr/bin/tkmib \ + "${D}"/usr/bin/traptoemail \ + "${D}"/usr/share/snmp/mib2c.perl.conf \ + "${D}"/usr/share/snmp/snmp_perl_trapd.pl \ + || die + fi + + dodoc AGENT.txt ChangeLog FAQ INSTALL NEWS PORTING README* TODO + newdoc EXAMPLE.conf.def EXAMPLE.conf + + if use doc; then + docinto html + dodoc -r docs/html/* + fi + + keepdir /var/lib/net-snmp + + newinitd "${FILESDIR}"/snmpd.init.2 snmpd + newconfd "${FILESDIR}"/snmpd.conf snmpd + + newinitd "${FILESDIR}"/snmptrapd.init.2 snmptrapd + newconfd "${FILESDIR}"/snmptrapd.conf snmptrapd + + systemd_dounit "${FILESDIR}"/snmpd.service + systemd_dounit "${FILESDIR}"/snmptrapd.service + + insinto /etc/snmp + newins "${S}"/EXAMPLE.conf snmpd.conf.example + + # Remove everything not required for an agent. + # Keep only the snmpd, snmptrapd, MIBs, headers and libraries. + if use minimal; then + rm -rf \ + "${D}"/**/*.pl \ + "${D}"/usr/bin/{encode_keychange,snmp{get,getnext,set,usm,walk,bulkwalk,table,trap,bulkget,translate,status,delta,test,df,vacm,netstat,inform,check,conf},fixproc,traptoemail} \ + "${D}"/usr/share/snmp/*.conf \ + "${D}"/usr/share/snmp/snmpconf-data \ + || die + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-analyzer/net-snmp/net-snmp-9999.ebuild b/net-analyzer/net-snmp/net-snmp-9999.ebuild new file mode 100644 index 000000000000..0e8fd9921149 --- /dev/null +++ b/net-analyzer/net-snmp/net-snmp-9999.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no +PYTHON_COMPAT=( python3_{13..14} ) +WANT_AUTOMAKE=none + +inherit autotools python-single-r1 libtool perl-module systemd + +DESCRIPTION="Software for generating and retrieving SNMP data" +HOMEPAGE="https://www.net-snmp.org/" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/net-snmp/net-snmp" + inherit git-r3 +else + # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +SRC_URI+=" https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz" + +# GPL-2 for the init scripts +LICENSE="HPND BSD GPL-2" +SLOT="0/40" +IUSE=" + X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mysql + pcap pci pcre perl python rpm selinux smux ssl tcpd ucd-compat valgrind zlib + ${GENTOO_PERL_USESTRING} +" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + rpm? ( bzip2 zlib ) +" + +COMMON_DEPEND=" + dev-libs/libnl:3 + virtual/libcrypt:= + bzip2? ( app-arch/bzip2 ) + elf? ( dev-libs/elfutils ) + lm-sensors? ( sys-apps/lm-sensors ) + mysql? ( dev-db/mysql-connector-c:0= ) + pcap? ( net-libs/libpcap ) + pci? ( sys-apps/pciutils ) + pcre? ( dev-libs/libpcre2 ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ${PYTHON_DEPS} + ) + rpm? ( + app-arch/rpm + dev-libs/popt + ) + ssl? ( + >=dev-libs/openssl-0.9.6d:0= + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + zlib? ( >=virtual/zlib-1.1.4:= ) +" +BDEPEND="doc? ( app-text/doxygen )" +DEPEND=" + ${COMMON_DEPEND} + valgrind? ( dev-debug/valgrind ) +" +RDEPEND=" + ${COMMON_DEPEND} + perl? ( + X? ( dev-perl/Tk ) + !minimal? ( + dev-perl/JSON + dev-perl/Mail-Sender + dev-perl/TermReadKey + ) + ) + selinux? ( sec-policy/selinux-snmp ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.8-pcap.patch + "${FILESDIR}"/${PN}-5.8.1-mysqlclient.patch + "${FILESDIR}"/${PN}-5.9-MakeMaker.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + + [[ ${PV} == 9999 ]] && git-r3_src_unpack +} + +src_prepare() { + # snmpconf generates config files with proper selinux context + use selinux && eapply "${FILESDIR}"/${PN}-5.1.2-snmpconf-selinux.patch + + mv "${WORKDIR}"/patches/0001-Fix-toolchain-quadruplet-detection-Gentoo-bug-432004.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0002-Respect-DESTDIR-for-pythoninstall.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0004-Don-t-report-CFLAGS-and-LDFLAGS-in-net-snmp-config.patch{,.disabled} || die + mv "${WORKDIR}"/patches/0005-Respect-LDFLAGS-properly.patch{,.disabled} || die + eapply "${WORKDIR}"/patches/*.patch + + # Fails because of our eautoconf call + rm testing/fulltests/default/T000configure_simple || die + + default + + eautoconf + elibtoolize +} + +src_configure() { + # keep this in the same line, configure.ac arguments are passed down to config.h + local mibs="host ucd-snmp/dlmod ucd-snmp/diskio ucd-snmp/extensible mibII/mta_sendmail etherlike-mib/dot3StatsTable" + use lm-sensors && mibs="${mibs} ucd-snmp/lmsensorsMib" + use smux && mibs="${mibs} smux" + + # Assume /etc/mtab is not present with a recent baselayout/openrc (bug #565136) + use kernel_linux && export ac_cv_ETC_MNTTAB=/etc/mtab + + export ac_cv_header_valgrind_{valgrind,memcheck}_h=$(usex valgrind) + + econf \ + $(use_enable !ssl internal-md5) \ + $(use_enable ipv6) \ + $(use_enable mfd-rewrites) \ + $(use_enable perl embedded-perl) \ + $(use_enable ucd-compat ucd-snmp-compatibility) \ + $(use_with bzip2) \ + $(use_with elf) \ + $(use_with kmem kmem-usage) \ + $(use_with mysql) \ + --with-nl \ + $(use_with pcap) \ + $(use_with pci) \ + $(use_with pcre pcre2-8) \ + --without-pcre \ + $(use_with perl perl-modules INSTALLDIRS=vendor) \ + $(use_with python python-modules) \ + $(use_with rpm) \ + $(use_with ssl openssl) \ + $(use_with tcpd libwrap) \ + $(use_with zlib) \ + --enable-shared \ + --with-default-snmp-version="3" \ + --with-ldflags="${LDFLAGS}" \ + --with-logfile="/var/log/net-snmpd.log" \ + --with-mib-modules="${mibs}" \ + --with-persistent-directory="/var/lib/net-snmp" \ + --with-sys-contact="root@unknown" \ + --with-sys-location="Unknown" +} + +src_compile() { + emake sedscript + + local subdir + for subdir in snmplib agent/mibgroup agent apps .; do + emake OTHERLDFLAGS="${LDFLAGS}" -C ${subdir} all + done + + use doc && emake docsdox +} + +src_test() { + emake -Onone test +} + +src_install() { + # https://github.com/net-snmp/net-snmp/issues/1035 (bug #967912) + sed -i -e 's:-Werror=declaration-after-statement ::' net-snmp-config || die + + # bug #317965 + emake -j1 DESTDIR="${D}" install + + use python && python_optimize + + if use perl ; then + perl_delete_localpod + if ! use X; then + rm "${D}"/usr/bin/tkmib || die + fi + else + rm -f \ + "${D}"/usr/bin/fixproc \ + "${D}"/usr/bin/ipf-mod.pl \ + "${D}"/usr/bin/mib2c \ + "${D}"/usr/bin/net-snmp-cert \ + "${D}"/usr/bin/snmp-bridge-mib \ + "${D}"/usr/bin/snmpcheck \ + "${D}"/usr/bin/snmpconf \ + "${D}"/usr/bin/tkmib \ + "${D}"/usr/bin/traptoemail \ + "${D}"/usr/share/snmp/mib2c.perl.conf \ + "${D}"/usr/share/snmp/snmp_perl_trapd.pl \ + || die + fi + + dodoc AGENT.txt ChangeLog FAQ INSTALL NEWS PORTING README* TODO + newdoc EXAMPLE.conf.def EXAMPLE.conf + + if use doc; then + docinto html + dodoc -r docs/html/* + fi + + keepdir /var/lib/net-snmp + + newinitd "${FILESDIR}"/snmpd.init.2 snmpd + newconfd "${FILESDIR}"/snmpd.conf snmpd + + newinitd "${FILESDIR}"/snmptrapd.init.2 snmptrapd + newconfd "${FILESDIR}"/snmptrapd.conf snmptrapd + + systemd_dounit "${FILESDIR}"/snmpd.service + systemd_dounit "${FILESDIR}"/snmptrapd.service + + insinto /etc/snmp + newins "${S}"/EXAMPLE.conf snmpd.conf.example + + # Remove everything not required for an agent. + # Keep only the snmpd, snmptrapd, MIBs, headers and libraries. + if use minimal; then + rm -rf \ + "${D}"/**/*.pl \ + "${D}"/usr/bin/{encode_keychange,snmp{get,getnext,set,usm,walk,bulkwalk,table,trap,bulkget,translate,status,delta,test,df,vacm,netstat,inform,check,conf},fixproc,traptoemail} \ + "${D}"/usr/share/snmp/*.conf \ + "${D}"/usr/share/snmp/snmpconf-data \ + || die + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-analyzer/netcat/Manifest b/net-analyzer/netcat/Manifest new file mode 100644 index 000000000000..ca67a6703601 --- /dev/null +++ b/net-analyzer/netcat/Manifest @@ -0,0 +1 @@ +DIST nc110.20180111.tar.xz 69984 BLAKE2B cb345db31d8857fc1c3973eba45c7a45ec0c5721829a19c46f1ec91a792d9d6309930b3bba5df1180989025f7a04ec8c85cf4832ac6f4199d13f15764f000420 SHA512 4413849c07c6ec5aae07c6e2baa1ba9a99721fa6ac08cf9e7d15379937a207246eb4f4299dd8c049445a72eac9cfe0a3633a87e4e01e21036db1217ea7a1e330 diff --git a/net-analyzer/netcat/files/netcat-110.20180111-c23.patch b/net-analyzer/netcat/files/netcat-110.20180111-c23.patch new file mode 100644 index 000000000000..4459fb1fe89d --- /dev/null +++ b/net-analyzer/netcat/files/netcat-110.20180111-c23.patch @@ -0,0 +1,29 @@ +https://bugs.gentoo.org/944910 +--- a/netcat.c ++++ b/netcat.c +@@ -257,7 +257,7 @@ void bail (str, p1, p2, p3, p4, p5, p6) + + /* catch : + no-brainer interrupt handler */ +-void catch () ++void catch (__attribute__ ((unused)) int unused) + { + errno = 0; + if (o_verbose > 1) /* normally we don't care */ +@@ -267,14 +267,14 @@ void catch () + + /* quit : + handler for a "-q" timeout (exit 0 instead of 1) */ +-void quit () ++void quit (__attribute__ ((unused)) int unused) + { + close (netfd); + exit (0); + } + + /* timeout and other signal handling cruft */ +-void tmtravel () ++void tmtravel (__attribute__ ((unused)) int unused) + { + signal (SIGALRM, SIG_IGN); + alarm (0); diff --git a/net-analyzer/netcat/files/netcat-110.20180111-variadic-holler.patch b/net-analyzer/netcat/files/netcat-110.20180111-variadic-holler.patch new file mode 100644 index 000000000000..36fda8614eef --- /dev/null +++ b/net-analyzer/netcat/files/netcat-110.20180111-variadic-holler.patch @@ -0,0 +1,88 @@ +Subject: [PATCH] Convert holler and bail to variadic function + +Both functions usually consume different types than char * which is +problematic for some compliers like clang-16 where -Werror=implicit-int +is enabled by default. + +The fix is done in such a way that original holler function is converted +to vholer which uses va_list from stdarg.h and holler and bail are +converted to variadic functions that utilize vholler for printing. + +Bug: https://bugs.gentoo.org/871003 + +diff --git a/netcat.c b/netcat.c +index 992c42b..b4d6fd8 100644 +--- a/netcat.c ++++ b/netcat.c +@@ -80,6 +80,7 @@ + #include <signal.h> + #include <fcntl.h> /* O_WRONLY et al */ + #include <unistd.h> ++#include <stdarg.h> + + /* handy stuff: */ + #define SA struct sockaddr /* socket overgeneralization braindeath */ +@@ -215,23 +216,18 @@ int o_quit = -1; /* 0 == quit-now; >0 == quit after o_quit seconds */ + /* support routines -- the bulk of this thing. Placed in such an order that + we don't have to forward-declare anything: */ + +-/* holler : +- fake varargs -- need to do this way because we wind up calling through +- more levels of indirection than vanilla varargs can handle, and not all +- machines have vfprintf/vsyslog/whatever! 6 params oughta be enough. */ +-void holler (str, p1, p2, p3, p4, p5, p6) +- char * str; +- char * p1, * p2, * p3, * p4, * p5, * p6; ++/* vholler : */ ++void vholler(const char * str, va_list ap) + { + FILE *o_holler_out = (o_holler_stderr ? stderr : stdout); + if (o_verbose) { +- fprintf (o_holler_out, str, p1, p2, p3, p4, p5, p6); ++ vfprintf (o_holler_out, str, ap); + #ifdef HAVE_BIND + if (h_errno) { /* if host-lookup variety of error ... */ + if (h_errno > 4) /* oh no you don't, either */ + fprintf (o_holler_out, "preposterous h_errno: %d", h_errno); + else +- fprintf (o_holler_out, h_errs[h_errno]); /* handle it here */ ++ fputs (h_errs[h_errno], o_holler_out); /* handle it here */ + h_errno = 0; /* and reset for next call */ + } + #endif +@@ -241,16 +237,27 @@ void holler (str, p1, p2, p3, p4, p5, p6) + fprintf (o_holler_out, "\n"); + fflush (o_holler_out); + } +-} /* holler */ ++} /* vholler */ ++ ++void holler(const char * fmt, ...) ++{ ++ va_list ap; ++ va_start(ap, fmt); ++ vholler(fmt, ap); ++ va_end(ap); ++} + + /* bail : + error-exit handler, callable from anywhere */ +-void bail (str, p1, p2, p3, p4, p5, p6) +- char * str; +- char * p1, * p2, * p3, * p4, * p5, * p6; ++void bail (const char * fmt, ...) + { + o_verbose = 1; +- holler (str, p1, p2, p3, p4, p5, p6); ++ va_list ap; ++ ++ va_start(ap, fmt); ++ vholler(fmt, ap); ++ va_end(ap); ++ + close (netfd); + exit (1); + } /* bail */ +-- +2.35.1 + diff --git a/net-analyzer/netcat/metadata.xml b/net-analyzer/netcat/metadata.xml new file mode 100644 index 000000000000..ec58c1c5b1fb --- /dev/null +++ b/net-analyzer/netcat/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:netcat_project:netcat</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netcat/netcat-110.20180111-r2.ebuild b/net-analyzer/netcat/netcat-110.20180111-r2.ebuild new file mode 100644 index 000000000000..1d183f576804 --- /dev/null +++ b/net-analyzer/netcat/netcat-110.20180111-r2.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic + +MY_P="nc${PV}" +DESCRIPTION="The network swiss army knife" +HOMEPAGE="https://nc110.sourceforge.io" +SRC_URI="https://downloads.sourceforge.net/nc110/${MY_P}.tar.xz" +S="${WORKDIR}/nc110" + +LICENSE="netcat" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-solaris" +IUSE="ipv6 static" + +PATCHES=( + "${FILESDIR}/${P}-variadic-holler.patch" + "${FILESDIR}/${PN}-110.20180111-c23.patch" +) + +src_prepare() { + default + + sed -i \ + -e '/#define HAVE_BIND/s:#define:#undef:' \ + -e '/#define FD_SETSIZE 16/s:16:1024: #34250' \ + netcat.c || die + + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i 's:gethostbyname2 *(\([^)]\+\)):getipnodebyname (\1, AI_DEFAULT, NULL):' netcat.c || die + fi +} + +src_configure() { + if ! use ipv6 ; then + sed -i '/#define INET6/d' generic.h || die + fi + + append-cppflags -DTELNET -DGAPING_SECURITY_HOLE +} + +src_compile() { + local xlibs + + [[ ${CHOST} == *-solaris* ]] && xlibs+=" -lnsl -lsocket" + + emake \ + LD="$(tc-getCC) ${LDFLAGS}" \ + DFLAGS="${CPPFLAGS}" \ + XFLAGS="${CFLAGS}" \ + STATIC=$(usev static '-static') \ + XLIBS="${xlibs}" \ + nc +} + +src_install() { + dobin nc + + dodoc README* netcat.blurb + doman nc.1 + + docinto scripts + dodoc scripts/* +} diff --git a/net-analyzer/netdata-go-plugin/Manifest b/net-analyzer/netdata-go-plugin/Manifest new file mode 100644 index 000000000000..8880ef0f9a90 --- /dev/null +++ b/net-analyzer/netdata-go-plugin/Manifest @@ -0,0 +1,4 @@ +DIST netdata-1.47.5-vendor.tar.xz 7224632 BLAKE2B b0b843ca53ae432607e95301ae9103d97f0260ea509e101883d20d3f26c1ee9edce558d66a46e76243b2ec8ef921b4d9cf883832749b585c20ac39251fd3b0e1 SHA512 c58c9bd2b52c766799f91b49591129a0de97b96d7da1d573ebe191a176f58b1cc4f9f67b83cdac6048833ceec494afae3a681b9476722a97c782525621dfc5dd +DIST netdata-1.47.5.tar.gz 51034758 BLAKE2B c7c86956080b1903cdcfad23e7e016d91e89ef394275ed6ace140e1a5adf98300d983847bb5f4ac09a7d2fdafeba9f2a32c9a5c5f28a24b387ce7231310799b7 SHA512 9350edd520c20e8d97919a5bad804f8855e39f98aaa2eb0b4f07cc6cf763714720518b7e4c81a9a48d368aedeeb6bbcebb7b9fdb7ab5f7a7e1b3a447904e4183 +DIST netdata-2.5.3-vendor.tar.xz 8472672 BLAKE2B 25e1c5276922ab174b92b3d20a10141b3f23a622af47e6b43c358af1805f8d0f000e49fa8963300bac2db0e705263e95a8bbf77ab6037631a83dbb7f2e409751 SHA512 d9736386f7434c910c3da2612ee3afb406cf5e1e628d5d0b4b65ab0ffdb76a52b590a0c95cdea0e448afe3047e2bc85fbe83315a9a89fb6811cc2c5cb33c7eb9 +DIST netdata-2.5.3.tar.gz 31858932 BLAKE2B fe3f8f97f27e775aad75f57089623df1c1eb79addb46847ac2d282610651d26248a090e215e144978c4f27b9f8e428ed953987bf10bfdbe2a33ba4c34b672cd7 SHA512 9bf469aada9db631e9b8e6e8890de22eaed080f2b1b016503469ebe563a85a2cbcb6c4f0839a633178136e5dcf73fa952776106f99927d9cace610209d645b1e diff --git a/net-analyzer/netdata-go-plugin/metadata.xml b/net-analyzer/netdata-go-plugin/metadata.xml new file mode 100644 index 000000000000..c460841fdaf8 --- /dev/null +++ b/net-analyzer/netdata-go-plugin/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>arkamar@gentoo.org</email> + <name>Petr VanÄ›k</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netdata-go-plugin/netdata-go-plugin-1.47.5-r1.ebuild b/net-analyzer/netdata-go-plugin/netdata-go-plugin-1.47.5-r1.ebuild new file mode 100644 index 000000000000..f3c217c2cced --- /dev/null +++ b/net-analyzer/netdata-go-plugin/netdata-go-plugin-1.47.5-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps go-module + +DESCRIPTION="Netdata plugin for collectors written in Go" +HOMEPAGE="https://github.com/netdata/netdata" +SRC_URI=" + https://github.com/netdata/netdata/releases/download/v${PV}/netdata-v${PV}.tar.gz + -> netdata-${PV}.tar.gz + https://dev.gentoo.org/~arkamar/distfiles/netdata-${PV}-vendor.tar.xz +" +S="${WORKDIR}/netdata-v${PV}/src/go" + +LICENSE="GPL-3+" +# Dependent modules licenses +LICENSE+=" + Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0 +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="net-analyzer/netdata" +BDEPEND=">=dev-lang/go-1.22" + +FILECAPS=( + cap_net_raw /usr/libexec/netdata/plugins.d/go.d.plugin +) + +src_compile() { + LDFLAGS="-X main.version=${PV}-gentoo" + ego build -ldflags "${LDFLAGS}" "github.com/netdata/netdata/go/plugins/cmd/godplugin" +} + +src_test() { + # skipped tests are sending udp packets to 192.0.2.1 + ego test -skip 'TestSNMP_Init/success_when_using_SNMPv[1-3]_with_valid_config' ./... +} + +src_install() { + einstalldocs + + exeinto "/usr/libexec/netdata/plugins.d" + newexe godplugin go.d.plugin + insinto "/usr/lib/netdata/conf.d" + doins -r plugin/go.d/config/* +} diff --git a/net-analyzer/netdata-go-plugin/netdata-go-plugin-2.5.3.ebuild b/net-analyzer/netdata-go-plugin/netdata-go-plugin-2.5.3.ebuild new file mode 100644 index 000000000000..7a08e6c88d4b --- /dev/null +++ b/net-analyzer/netdata-go-plugin/netdata-go-plugin-2.5.3.ebuild @@ -0,0 +1,49 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps go-module + +DESCRIPTION="Netdata plugin for collectors written in Go" +HOMEPAGE="https://github.com/netdata/netdata" +SRC_URI=" + https://github.com/netdata/netdata/releases/download/v${PV}/netdata-v${PV}.tar.gz + -> netdata-${PV}.tar.gz + https://dev.gentoo.org/~arkamar/distfiles/netdata-${PV}-vendor.tar.xz +" +S="${WORKDIR}/netdata-v${PV}/src/go" + +LICENSE="GPL-3+" +# Dependent modules licenses +LICENSE+=" + Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0 +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="net-analyzer/netdata" +BDEPEND=">=dev-lang/go-1.24" + +FILECAPS=( + cap_net_raw /usr/libexec/netdata/plugins.d/go.d.plugin +) + +src_compile() { + LDFLAGS="-X main.version=${PV}-gentoo" + ego build -ldflags "${LDFLAGS}" "github.com/netdata/netdata/go/plugins/cmd/godplugin" +} + +src_test() { + # skipped tests are sending udp packets to 192.0.2.1 + ego test -skip 'TestCollector_Init/success_when_using_SNMPv[1-3]_with_valid_config' ./... +} + +src_install() { + einstalldocs + + exeinto "/usr/libexec/netdata/plugins.d" + newexe godplugin go.d.plugin + insinto "/usr/lib/netdata/conf.d" + doins -r plugin/go.d/config/* +} diff --git a/net-analyzer/netdata/Manifest b/net-analyzer/netdata/Manifest new file mode 100644 index 000000000000..a13e4a28e8b2 --- /dev/null +++ b/net-analyzer/netdata/Manifest @@ -0,0 +1,3 @@ +DIST dlib-19.24.8.tar.gz 18965261 BLAKE2B 3dbcfcd4d1a98737a21f3618994a96b3932cfc3c12ef26411ef919d8843227418460208911aa687d5a94552588e8e1eb4c99646afc86f4b43afc6972d22c65b8 SHA512 9092768628246b682e29322b101cfb8c0cd1d5a2af850510403cc7f912aa43370db1d4b5b07ff6ce6a575b3bd8cfe666b6b8f78f5e7c2ec751ae23569edcb517 +DIST netdata-1.47.5.tar.gz 51034758 BLAKE2B c7c86956080b1903cdcfad23e7e016d91e89ef394275ed6ace140e1a5adf98300d983847bb5f4ac09a7d2fdafeba9f2a32c9a5c5f28a24b387ce7231310799b7 SHA512 9350edd520c20e8d97919a5bad804f8855e39f98aaa2eb0b4f07cc6cf763714720518b7e4c81a9a48d368aedeeb6bbcebb7b9fdb7ab5f7a7e1b3a447904e4183 +DIST netdata-2.5.3.tar.gz 31858932 BLAKE2B fe3f8f97f27e775aad75f57089623df1c1eb79addb46847ac2d282610651d26248a090e215e144978c4f27b9f8e428ed953987bf10bfdbe2a33ba4c34b672cd7 SHA512 9bf469aada9db631e9b8e6e8890de22eaed080f2b1b016503469ebe563a85a2cbcb6c4f0839a633178136e5dcf73fa952776106f99927d9cace610209d645b1e diff --git a/net-analyzer/netdata/files/netdata-dlib-global_optimization-add-template-argument-list.patch b/net-analyzer/netdata/files/netdata-dlib-global_optimization-add-template-argument-list.patch new file mode 100644 index 000000000000..43aba15f4980 --- /dev/null +++ b/net-analyzer/netdata/files/netdata-dlib-global_optimization-add-template-argument-list.patch @@ -0,0 +1,30 @@ +From 0947215ddb268fef192e45c140c9430f77648166 Mon Sep 17 00:00:00 2001 +From: Drew Risinger <10198051+drewrisinger@users.noreply.github.com> +Date: Tue, 25 Jun 2024 19:01:12 -0700 +Subject: [PATCH] global_optimization: add template argument list (#2973) + +Fixes error (-Wmissing-template-arg-list-after-template-kw) from clang-19 compiler. + +Co-authored-by: Drew Risinger <drewrisinger@users.noreply.github.com> + +Origin: upstream, https://github.com/davisking/dlib/pull/2973 +--- + src/ml/dlib/dlib/global_optimization/find_max_global.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ml/dlib/dlib/global_optimization/find_max_global.h b/src/ml/dlib/dlib/global_optimization/find_max_global.h +index 12e496e69894..8a05ae9050d4 100644 +--- a/src/ml/dlib/dlib/global_optimization/find_max_global.h ++++ b/src/ml/dlib/dlib/global_optimization/find_max_global.h +@@ -58,7 +58,7 @@ namespace dlib + } + + template <typename T> +- static auto go(T&& f, const matrix<double,0,1>& a) -> decltype(call_function_and_expand_args<max_unpack-1>::template go(std::forward<T>(f),a)) ++ static auto go(T&& f, const matrix<double,0,1>& a) -> decltype(call_function_and_expand_args<max_unpack-1>::template go<T>(std::forward<T>(f),a)) + { + return call_function_and_expand_args<max_unpack-1>::go(std::forward<T>(f),a); + } +-- +2.43.0 + diff --git a/net-analyzer/netdata/metadata.xml b/net-analyzer/netdata/metadata.xml new file mode 100644 index 000000000000..606c8d452827 --- /dev/null +++ b/net-analyzer/netdata/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>candrews@gentoo.org</email> + <name>Craig Andrews</name> + </maintainer> + <use> + <flag name="aclk">Enable Agent-Cloud Link (ACLK) for securely connecting a Netdata Agent to your web browser through Netdata Cloud</flag> + <flag name="bpf">Enable the extended Berkeley Packet Filter (eBPF) collector to monitor kernel-level metrics about applications with per-second granularity</flag> + <flag name="cloud">Enable Netdata Cloud support</flag> + <flag name="dbengine">Enable the Netdata database engine</flag> + <flag name="ipmi">Install <pkg>sys-apps/ipmitool</pkg> required for monitoring IPMI sensors</flag> + <flag name="mongodb">Enable support for the mongodb backend</flag> + <flag name="nfacct">Enable the nfacct plugin</flag> + <flag name="nodejs">Enable use of nodejs (which some plugins use)</flag> + <flag name="prometheus">Enable support for the Prometheus remote write backend</flag> + <flag name="xen">Enable monitoring of xen</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:my-netdata:netdata</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netdata/netdata-1.47.5.ebuild b/net-analyzer/netdata/netdata-1.47.5.ebuild new file mode 100644 index 000000000000..a32c95f54549 --- /dev/null +++ b/net-analyzer/netdata/netdata-1.47.5.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake fcaps linux-info optfeature python-single-r1 systemd + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/netdata/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/netdata/${PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-v${PV}" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="Linux real time system monitoring, done right!" +HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/" + +LICENSE="GPL-3+ MIT BSD" +SLOT="0" +IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen" +REQUIRED_USE=" + mysql? ( python ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# most unconditional dependencies are for plugins.d/charts.d.plugin: +RDEPEND=" + acct-group/netdata + acct-user/netdata + app-misc/jq + >=app-shells/bash-4:0 + || ( + net-analyzer/openbsd-netcat + net-analyzer/netcat + ) + net-libs/libwebsockets + net-misc/curl + net-misc/wget + sys-apps/util-linux + app-alternatives/awk + sys-libs/libcap + cups? ( net-print/cups ) + app-arch/lz4:= + app-arch/zstd:= + app-arch/brotli:= + dbengine? ( + dev-libs/judy + dev-libs/openssl:= + ) + dev-libs/libpcre2:= + dev-libs/libuv:= + dev-libs/libyaml + dev-libs/protobuf:= + bpf? ( virtual/libelf:= ) + virtual/zlib:= + ipmi? ( sys-libs/freeipmi ) + dev-libs/json-c:= + mongodb? ( dev-libs/mongo-c-driver ) + nfacct? ( + net-firewall/nfacct + net-libs/libmnl:= + ) + nodejs? ( net-libs/nodejs ) + prometheus? ( + app-arch/snappy:= + dev-libs/protobuf:= + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') ) + postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') ) + ) + xen? ( + app-emulation/xen-tools + dev-libs/yajl + ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +FILECAPS=( + 'cap_dac_read_search,cap_sys_ptrace+ep' + 'usr/libexec/netdata/plugins.d/apps.plugin' + 'usr/libexec/netdata/plugins.d/debugfs.plugin' +) + +pkg_setup() { + use python && python-single-r1_pkg_setup + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-dlib-global_optimization-add-template-argument-list.patch +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE + -DCMAKE_INSTALL_PREFIX=/ + -DENABLE_ACLK=$(usex aclk) + -DENABLE_CLOUD=$(usex cloud) + -DENABLE_DBENGINE=$(usex dbengine) + -DENABLE_PLUGIN_CUPS=$(usex cups) + -DENABLE_PLUGIN_NFACCT=$(usex nfacct) + -DENABLE_PLUGIN_FREEIPMI=$(usex ipmi) + -DENABLE_EXPORTER_MONGODB=$(usex mongodb) + -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus) + -DENABLE_PLUGIN_XENSTAT=$(usex xen) + -DENABLE_PLUGIN_EBPF=$(usex bpf) + -DENABLE_PLUGIN_GO=FALSE + -DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + rm -rf "${D}/var/cache" || die + rm -rf "${D}/var/run" || die + + keepdir /var/log/netdata + fowners -Rc netdata:netdata /var/log/netdata + keepdir /var/lib/netdata + keepdir /var/lib/netdata/registry + keepdir /var/lib/netdata/cloud.d + fowners -Rc netdata:netdata /var/lib/netdata + + newinitd "${D}/usr/lib/netdata/system/openrc/init.d/netdata" "${PN}" + newconfd "${D}/usr/lib/netdata/system/openrc/conf.d/netdata" "${PN}" + systemd_newunit "${D}/usr/lib/netdata/system/systemd/netdata.service.v235" netdata.service + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.service" + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.timer" + insinto /etc/netdata + doins system/netdata.conf +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use nfacct ; then + fcaps 'cap_net_admin' 'usr/libexec/netdata/plugins.d/nfacct.plugin' + fi + + if use xen ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/xenstat.plugin' + fi + + if use ipmi ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/freeipmi.plugin' + fi + + optfeature "go.d external plugin" net-analyzer/netdata-go-plugin +} diff --git a/net-analyzer/netdata/netdata-2.5.3.ebuild b/net-analyzer/netdata/netdata-2.5.3.ebuild new file mode 100644 index 000000000000..089e2abf0b20 --- /dev/null +++ b/net-analyzer/netdata/netdata-2.5.3.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake fcaps linux-info optfeature python-single-r1 systemd + +DLIB_VER="19.24.8" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/netdata/${PN}.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/netdata/netdata/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/davisking/dlib/archive/v${DLIB_VER}.tar.gz -> dlib-${DLIB_VER}.tar.gz + " + S="${WORKDIR}/${PN}-v${PV}" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="Linux real time system monitoring, done right!" +HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/" + +LICENSE="GPL-3+ MIT BSD" +SLOT="0" +IUSE="cups +dbengine ipmi jemalloc mongodb mysql nfacct nodejs prometheus +python systemd xen" +REQUIRED_USE=" + mysql? ( python ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# most unconditional dependencies are for plugins.d/charts.d.plugin: +RDEPEND=" + acct-group/netdata + acct-user/netdata + app-alternatives/awk + app-arch/brotli:= + app-arch/lz4:= + app-arch/zstd:= + app-misc/jq + >=app-shells/bash-4:0 + dev-libs/json-c:= + dev-libs/libpcre2:= + dev-libs/libuv:= + dev-libs/libyaml + dev-libs/protobuf:= + || ( + net-analyzer/openbsd-netcat + net-analyzer/netcat + ) + net-libs/libmnl:= + net-libs/libwebsockets + net-misc/curl + net-misc/wget + sys-apps/util-linux + sys-libs/libcap + virtual/zlib:= + cups? ( net-print/cups ) + dbengine? ( + dev-libs/judy + dev-libs/openssl:= + ) + ipmi? ( sys-libs/freeipmi ) + jemalloc? ( dev-libs/jemalloc:= ) + mongodb? ( dev-libs/mongo-c-driver:0 ) + nfacct? ( + net-firewall/nfacct + net-libs/libmnl:= + ) + nodejs? ( net-libs/nodejs ) + prometheus? ( + app-arch/snappy:= + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') ) + ) + xen? ( + app-emulation/xen-tools + dev-libs/yajl + ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +FILECAPS=( + 'cap_dac_read_search,cap_sys_ptrace+ep' + 'usr/libexec/netdata/plugins.d/apps.plugin' + 'usr/libexec/netdata/plugins.d/debugfs.plugin' +) + +pkg_setup() { + use python && python-single-r1_pkg_setup + linux-info_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DNETDATA_DLIB_SOURCE_PATH="${WORKDIR}/dlib-${DLIB_VER}" + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_INSTALL_PREFIX=/ + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_UPDATES_DISCONNECTED=ON + -DENABLE_BUNDLED_JSONC=OFF + -DENABLE_BUNDLED_PROTOBUF=OFF + -DENABLE_BUNDLED_YAML=OFF + -DENABLE_DASHBOARD=OFF # uses binary blobs, license issues + -DENABLE_DBENGINE=$(usex dbengine) + -DENABLE_EXPORTER_MONGODB=$(usex mongodb) + -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus) + -DENABLE_JEMALLOC=$(usex jemalloc) + -DENABLE_LIBBACKTRACE=OFF + -DENABLE_MIMALLOC=OFF + -DENABLE_ML=ON + -DENABLE_PLUGIN_APPS=ON + -DENABLE_PLUGIN_CGROUP_NETWORK=ON + -DENABLE_PLUGIN_CHARTS=ON + -DENABLE_PLUGIN_CUPS=$(usex cups) + -DENABLE_PLUGIN_DEBUGFS=ON + -DENABLE_PLUGIN_EBPF=OFF # bundles libbpf + -DENABLE_PLUGIN_GO=OFF + -DENABLE_PLUGIN_FREEIPMI=$(usex ipmi) + -DENABLE_PLUGIN_NFACCT=$(usex nfacct) + -DENABLE_PLUGIN_OTEL=OFF + -DENABLE_PLUGIN_PERF=ON + -DENABLE_PLUGIN_PYTHON=$(usex python) + -DENABLE_PLUGIN_SLABINFO=ON + -DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd) + -DENABLE_PLUGIN_XENSTAT=$(usex xen) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + rm -rf "${D}/var/cache" || die + rm -rf "${D}/var/run" || die + + keepdir /var/log/netdata + fowners -Rc netdata:netdata /var/log/netdata + keepdir /var/lib/netdata + keepdir /var/lib/netdata/registry + keepdir /var/lib/netdata/cloud.d + fowners -Rc netdata:netdata /var/lib/netdata + + newinitd "${D}/usr/lib/netdata/system/openrc/init.d/netdata" "${PN}" + newconfd "${D}/usr/lib/netdata/system/openrc/conf.d/netdata" "${PN}" + systemd_newunit "${D}/usr/lib/netdata/system/systemd/netdata.service.v235" netdata.service + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.service" + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.timer" + insinto /etc/netdata + doins system/netdata.conf + + # Opt-out anonymous statistics + touch "${D}/etc/netdata/.opt-out-from-anonymous-statistics" +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use nfacct ; then + fcaps 'cap_net_admin' 'usr/libexec/netdata/plugins.d/nfacct.plugin' + fi + + if use xen ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/xenstat.plugin' + fi + + if use ipmi ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/freeipmi.plugin' + fi + + optfeature "go.d external plugin" net-analyzer/netdata-go-plugin +} diff --git a/net-analyzer/netdata/netdata-9999.ebuild b/net-analyzer/netdata/netdata-9999.ebuild new file mode 100644 index 000000000000..a32c95f54549 --- /dev/null +++ b/net-analyzer/netdata/netdata-9999.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake fcaps linux-info optfeature python-single-r1 systemd + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/netdata/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/netdata/${PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-v${PV}" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="Linux real time system monitoring, done right!" +HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/" + +LICENSE="GPL-3+ MIT BSD" +SLOT="0" +IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen" +REQUIRED_USE=" + mysql? ( python ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# most unconditional dependencies are for plugins.d/charts.d.plugin: +RDEPEND=" + acct-group/netdata + acct-user/netdata + app-misc/jq + >=app-shells/bash-4:0 + || ( + net-analyzer/openbsd-netcat + net-analyzer/netcat + ) + net-libs/libwebsockets + net-misc/curl + net-misc/wget + sys-apps/util-linux + app-alternatives/awk + sys-libs/libcap + cups? ( net-print/cups ) + app-arch/lz4:= + app-arch/zstd:= + app-arch/brotli:= + dbengine? ( + dev-libs/judy + dev-libs/openssl:= + ) + dev-libs/libpcre2:= + dev-libs/libuv:= + dev-libs/libyaml + dev-libs/protobuf:= + bpf? ( virtual/libelf:= ) + virtual/zlib:= + ipmi? ( sys-libs/freeipmi ) + dev-libs/json-c:= + mongodb? ( dev-libs/mongo-c-driver ) + nfacct? ( + net-firewall/nfacct + net-libs/libmnl:= + ) + nodejs? ( net-libs/nodejs ) + prometheus? ( + app-arch/snappy:= + dev-libs/protobuf:= + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') ) + postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') ) + ) + xen? ( + app-emulation/xen-tools + dev-libs/yajl + ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +FILECAPS=( + 'cap_dac_read_search,cap_sys_ptrace+ep' + 'usr/libexec/netdata/plugins.d/apps.plugin' + 'usr/libexec/netdata/plugins.d/debugfs.plugin' +) + +pkg_setup() { + use python && python-single-r1_pkg_setup + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-dlib-global_optimization-add-template-argument-list.patch +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE + -DCMAKE_INSTALL_PREFIX=/ + -DENABLE_ACLK=$(usex aclk) + -DENABLE_CLOUD=$(usex cloud) + -DENABLE_DBENGINE=$(usex dbengine) + -DENABLE_PLUGIN_CUPS=$(usex cups) + -DENABLE_PLUGIN_NFACCT=$(usex nfacct) + -DENABLE_PLUGIN_FREEIPMI=$(usex ipmi) + -DENABLE_EXPORTER_MONGODB=$(usex mongodb) + -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus) + -DENABLE_PLUGIN_XENSTAT=$(usex xen) + -DENABLE_PLUGIN_EBPF=$(usex bpf) + -DENABLE_PLUGIN_GO=FALSE + -DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + rm -rf "${D}/var/cache" || die + rm -rf "${D}/var/run" || die + + keepdir /var/log/netdata + fowners -Rc netdata:netdata /var/log/netdata + keepdir /var/lib/netdata + keepdir /var/lib/netdata/registry + keepdir /var/lib/netdata/cloud.d + fowners -Rc netdata:netdata /var/lib/netdata + + newinitd "${D}/usr/lib/netdata/system/openrc/init.d/netdata" "${PN}" + newconfd "${D}/usr/lib/netdata/system/openrc/conf.d/netdata" "${PN}" + systemd_newunit "${D}/usr/lib/netdata/system/systemd/netdata.service.v235" netdata.service + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.service" + systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.timer" + insinto /etc/netdata + doins system/netdata.conf +} + +pkg_postinst() { + fcaps_pkg_postinst + + if use nfacct ; then + fcaps 'cap_net_admin' 'usr/libexec/netdata/plugins.d/nfacct.plugin' + fi + + if use xen ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/xenstat.plugin' + fi + + if use ipmi ; then + fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/freeipmi.plugin' + fi + + optfeature "go.d external plugin" net-analyzer/netdata-go-plugin +} diff --git a/net-analyzer/netdiscover/Manifest b/net-analyzer/netdiscover/Manifest new file mode 100644 index 000000000000..54c6e082f193 --- /dev/null +++ b/net-analyzer/netdiscover/Manifest @@ -0,0 +1,2 @@ +DIST netdiscover-0.10.tar.gz 403310 BLAKE2B 87de2dd647bb2f047cb8655a97f3b44c0d69e127bb6b67030f789e64345692c54a70ff799a866669b5cbbf174176f415057a7e642e5703dc8e5f5e9c95633dff SHA512 a04a3ecb9cb76f22edc761b1a661e6e0f5c620763ca5a059923ce2d080e0d15bc0e0861ae354efc28ba2cea09b642128d8ee022106402f82041180c22e8becc9 +DIST netdiscover-0.20.tar.gz 443893 BLAKE2B 093747e7b5648230afa2cd6a9bea2e8feccfb083349a919b5a95efe8b06865bb5f01dcff3d79055b7388687c83fff4649baa9e2708b97a24e508700ddb685ba8 SHA512 de79a470ac752bc8114b60f2eccadd7b6bdb911fcd475f7e2f626bc9d647dbf0fd279303c7355050d0dd119df67c46eee4e13fe5077379238f3af8e8ffa086e4 diff --git a/net-analyzer/netdiscover/metadata.xml b/net-analyzer/netdiscover/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/netdiscover/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netdiscover/netdiscover-0.10.ebuild b/net-analyzer/netdiscover/netdiscover-0.10.ebuild new file mode 100644 index 000000000000..5f3a82e37ad3 --- /dev/null +++ b/net-analyzer/netdiscover/netdiscover-0.10.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Active/passive address reconnaissance tool" +HOMEPAGE="https://github.com/netdiscover-scanner/netdiscover" +SRC_URI=" + https://github.com/${PN}-scanner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz +" +S="${WORKDIR}/${P/_/-}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" + +DEPEND=" + >=net-libs/libpcap-0.8.3-r1 +" +RDEPEND=" + ${DEPEND} +" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cflags -fcommon + default +} diff --git a/net-analyzer/netdiscover/netdiscover-0.20.ebuild b/net-analyzer/netdiscover/netdiscover-0.20.ebuild new file mode 100644 index 000000000000..b207d52c0ff6 --- /dev/null +++ b/net-analyzer/netdiscover/netdiscover-0.20.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Active/passive address reconnaissance tool" +HOMEPAGE="https://github.com/netdiscover-scanner/netdiscover" +SRC_URI=" + https://github.com/${PN}-scanner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz +" +S=${WORKDIR}/${P/_/-} + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" + +DEPEND=" + >=net-libs/libpcap-0.8.3-r1 +" +RDEPEND=" + ${DEPEND} +" + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/nethogs/Manifest b/net-analyzer/nethogs/Manifest new file mode 100644 index 000000000000..3299ce9b8f89 --- /dev/null +++ b/net-analyzer/nethogs/Manifest @@ -0,0 +1,2 @@ +DIST nethogs-0.8.7.tar.gz 270631 BLAKE2B 179227d4b1fde5328e4885ce72bb28ac20482fa161afee7562546af5b403be1e851533e3861dfa2f514968aebe91a822e6b792520407853dfb1055c6d29ad121 SHA512 d965f3fa439ea9fbba83578b4272d03f396bf3cff9ae73a94936d47a3422d066d885c7f6f2a47fbe2f445a017bffa3fb3a1215976522ef0ad120fae3b95b31a2 +DIST nethogs-0.8.8.tar.gz 272792 BLAKE2B ec18cd291768c1baf22ab71b4219ab050c8f919419510234e71ec3d618fb0ff72cac4ccf04a4b1b063f71cf308f2ce2db09c595e4845372e4e6c61bf074e3ef3 SHA512 df076204c329f48161b01b51f89a6e7946b83ef330349e0df39e0358b9d3d973be9cdb64eb86ab9a83fb4f9389865a7859739de6a896374952ec2a08b2084b0d diff --git a/net-analyzer/nethogs/files/nethogs-0.8.8-meson.patch b/net-analyzer/nethogs/files/nethogs-0.8.8-meson.patch new file mode 100644 index 000000000000..2c87197b9933 --- /dev/null +++ b/net-analyzer/nethogs/files/nethogs-0.8.8-meson.patch @@ -0,0 +1,85 @@ +https://github.com/raboof/nethogs/pull/285 + +[Formatting patch 3/3 dropped.] + +From 049fff5623720fcd0b4fdc92501b586addbb6b48 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sat, 25 Jan 2025 16:03:12 +0000 +Subject: [PATCH 1/3] meson: cleanup version detection + +Tell Meson what version the project is, so that we set the right versioning +on libnethogs. +--- + meson.build | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index 81d7b59..16e61b4 100644 +--- a/meson.build ++++ b/meson.build +@@ -5,11 +5,11 @@ + project('nethogs', + ['c', 'cpp'], + default_options : ['warning_level=3', +- 'cpp_std=c++14'] ++ 'cpp_std=c++14'], ++ version : run_command('./determineVersion.sh').stdout().strip(), + ) + + cc = meson.get_compiler('cpp') +-version = run_command('./determineVersion.sh', check: true).stdout().strip() + + ####################################### + ## Dependencies and flags definition ## +@@ -19,7 +19,7 @@ projectinc = [include_directories('.', 'src')] + + # flags + c_args = [ +- '-DVERSION="' + version + '"' ++ '-DVERSION="' + meson.project_version() + '"' + ] + + # dependencies +@@ -42,5 +42,5 @@ pkgconfig = import('pkgconfig') + pkgconfig_install_dir = join_paths(get_option('libdir'), 'pkgconfig') + pkgconfig.generate(libnethogs, + requires: ['libpcap'], +- version: version ++ version: meson.project_version() + ) + +From 5afce747f142f6df6a264ab368c99f47050d9984 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sat, 25 Jan 2025 16:05:20 +0000 +Subject: [PATCH 2/3] meson: fix build with libnethogs disabled + +Fix `meson.build:43:19: ERROR: Unknown variable "libnethogs".`. + +While src/ has this correct, the top-level meson.build wasn't right. +--- + meson.build | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 16e61b4..8537718 100644 +--- a/meson.build ++++ b/meson.build +@@ -38,9 +38,11 @@ subdir('src') + ############################# + ## Pkgconfig definition ## + ############################# +-pkgconfig = import('pkgconfig') +-pkgconfig_install_dir = join_paths(get_option('libdir'), 'pkgconfig') +-pkgconfig.generate(libnethogs, +- requires: ['libpcap'], +- version: meson.project_version() +- ) ++if get_option('enable-libnethogs').enabled() ++ pkgconfig = import('pkgconfig') ++ pkgconfig_install_dir = join_paths(get_option('libdir'), 'pkgconfig') ++ pkgconfig.generate(libnethogs, ++ requires: ['libpcap'], ++ version: meson.project_version() ++ ) ++endif + diff --git a/net-analyzer/nethogs/metadata.xml b/net-analyzer/nethogs/metadata.xml new file mode 100644 index 000000000000..cac8a50ad67a --- /dev/null +++ b/net-analyzer/nethogs/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + NetHogs is a small 'net top' tool. Instead of breaking the traffic down + per protocol or per subnet, like most tools do, it groups bandwidth by + process. NetHogs does not rely on a special kernel module to be loaded. + If there's suddenly a lot of network traffic, you can fire up NetHogs and + immediately see which PID is causing this. This makes it easy to indentify + programs that have gone wild and are suddenly taking up your bandwidth. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nethogs/nethogs-0.8.7.ebuild b/net-analyzer/nethogs/nethogs-0.8.7.ebuild new file mode 100644 index 000000000000..fc236f181755 --- /dev/null +++ b/net-analyzer/nethogs/nethogs-0.8.7.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps toolchain-funcs + +DESCRIPTION="A small 'net top' tool, grouping bandwidth by process" +HOMEPAGE="https://github.com/raboof/nethogs" +SRC_URI="https://github.com/raboof/nethogs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 x86" + +RDEPEND="net-libs/libpcap + sys-libs/ncurses:=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( DESIGN README.decpcap.txt README.md ) + +FILECAPS=( + cap_net_admin,cap_net_raw usr/sbin/nethogs +) + +src_compile() { + tc-export CC CXX + + emake NCURSES_LIBS="$( $(tc-getPKG_CONFIG) --libs ncurses )" ${PN} +} + +src_install() { + emake DESTDIR="${ED}" PREFIX="/usr" install + einstalldocs +} diff --git a/net-analyzer/nethogs/nethogs-0.8.8.ebuild b/net-analyzer/nethogs/nethogs-0.8.8.ebuild new file mode 100644 index 000000000000..a023076f3bac --- /dev/null +++ b/net-analyzer/nethogs/nethogs-0.8.8.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps meson + +DESCRIPTION="Small 'net top' tool, grouping bandwidth by process" +HOMEPAGE="https://github.com/raboof/nethogs" +SRC_URI="https://github.com/raboof/nethogs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 x86" + +RDEPEND=" + net-libs/libpcap + sys-libs/ncurses:=[cxx] +" +DEPEND="${RDEPEND}" + +DOCS=( DESIGN README.decpcap.txt README.md ) + +FILECAPS=( + cap_net_admin,cap_net_raw usr/bin/nethogs +) + +PATCHES=( + "${FILESDIR}"/${PN}-0.8.8-meson.patch +) + +src_prepare() { + default + + cat <<-EOF > determineVersion.sh || die + #!/bin/sh + printf "${PV}" + EOF + chmod +x determineVersion.sh || die +} diff --git a/net-analyzer/netperf/Manifest b/net-analyzer/netperf/Manifest new file mode 100644 index 000000000000..96ec2d577205 --- /dev/null +++ b/net-analyzer/netperf/Manifest @@ -0,0 +1,2 @@ +DIST netperf-2.7.0.tar.bz2 1024430 BLAKE2B 1263a2b3cee0790e4526245e522d29f8692a5a3e9d3b41468d1010bbee4d606a06904d9e0c4ac0af457bde562a476434be4c62a41e3c0dbf0e5c3aeb2ae5652a SHA512 5fb37945bead831247de9c8ba86b33f134ba39e753b483df72de97f536d0846538dadf61acc2dee57f04ab5d16a92afab4890e79a5d7ffa863afd526267fffad +DIST netperf-2.7.0_p20210121.tar.gz 1914186 BLAKE2B 14d3a769a049443d8bf62b58c93c2b9563a16b69bb151d35926aa8831167b8a31bdd7d820c80a0c0511a78e519742005bdfa2079d403a514e2ec17f41a1b8e7c SHA512 8d9908fe2cd778eae719265b67938ab44e18de960c845f976e80d6b419c08b11ae47d8b4b906c6ccaf280f9f66bcdcb0be2ab379b0dca8d62d86671d57057e20 diff --git a/net-analyzer/netperf/files/netperf-2.2-conf b/net-analyzer/netperf/files/netperf-2.2-conf new file mode 100644 index 000000000000..f61f483a83ea --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.2-conf @@ -0,0 +1,4 @@ +# Config file for /etc/init.d/netperf + +# Add your preferred netserver args here +#NETSERVER_ARGS="-n 4" diff --git a/net-analyzer/netperf/files/netperf-2.6.0-log-dir.patch b/net-analyzer/netperf/files/netperf-2.6.0-log-dir.patch new file mode 100644 index 000000000000..00554cc0b5c2 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.6.0-log-dir.patch @@ -0,0 +1,11 @@ +--- a/src/netserver.c ++++ b/src/netserver.c +@@ -165,7 +165,7 @@ + #elif defined(ANDROID) + #define DEBUG_LOG_FILE_DIR "/data/local/tmp/" + #else +-#define DEBUG_LOG_FILE_DIR "/tmp/" ++#define DEBUG_LOG_FILE_DIR "/var/log/" + #endif + #endif /* DEBUG_LOG_FILE_DIR */ + diff --git a/net-analyzer/netperf/files/netperf-2.7.0-fcommon.patch b/net-analyzer/netperf/files/netperf-2.7.0-fcommon.patch new file mode 100644 index 000000000000..0682c76cd89d --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-fcommon.patch @@ -0,0 +1,30 @@ +https://github.com/HewlettPackard/netperf/pull/46 +https://bugs.gentoo.org/706694 + +From c6a2e17fe35f0e68823451fedfdf5b1dbecddbe3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 12 Aug 2020 09:57:23 -0700 +Subject: [PATCH] nettest_omni: Remove duplicate variable definitions + +These defines are already defined in nettest_bsd.c and exported by +nettest_bsd.h this should fix build with -fno-common + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/src/nettest_omni.c ++++ b/src/nettest_omni.c +@@ -458,14 +458,6 @@ static int client_port_max = 65535; + + /* different options for the sockets */ + +-int +- loc_nodelay, /* don't/do use NODELAY locally */ +- rem_nodelay, /* don't/do use NODELAY remotely */ +- loc_sndavoid, /* avoid send copies locally */ +- loc_rcvavoid, /* avoid recv copies locally */ +- rem_sndavoid, /* avoid send copies remotely */ +- rem_rcvavoid; /* avoid recv_copies remotely */ +- + extern int + loc_tcpcork, + rem_tcpcork, + diff --git a/net-analyzer/netperf/files/netperf-2.7.0-gcc15.patch b/net-analyzer/netperf/files/netperf-2.7.0-gcc15.patch new file mode 100644 index 000000000000..fe6335b26c28 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-gcc15.patch @@ -0,0 +1,167 @@ +From 2bf2c2d7b6fecc43c70567054071134ab13ef0a6 Mon Sep 17 00:00:00 2001 +From: "mark.yang" <mark.yang@lge.com> +Date: Wed, 16 Apr 2025 20:02:36 +0900 +Subject: [PATCH] Fix too many arguments error occurring in gcc-15 + +* See more details in http://errors.yoctoproject.org/Errors/Details/851803/ +../../git/src/nettest_bsd.c:4497:19: error: too many arguments to function 'alloc_sendfile_buf_ring'; expected 0, have 4 + 4497 | send_ring = alloc_sendfile_buf_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +In file included from ../../git/src/nettest_bsd.c:175: +../../git/src/netlib.h:690:26: note: declared here + 690 | extern struct ring_elt *alloc_sendfile_buf_ring(); + | ^~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../git/src/nettest_omni.c:184: +../../git/src/hist.h:135:6: error: conflicting types for 'HIST_purge'; have 'void(struct histogram_struct *)' + 135 | void HIST_purge(HIST h); + | ^~~~~~~~~~ +In file included from ../../git/src/nettest_omni.c:166: +../../git/src/netlib.h:651:17: note: previous declaration of 'HIST_purge' with type 'void(void)' + 651 | extern void HIST_purge(); + | ^~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_stream': +../../git/src/nettest_bsd.c:5197:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5197 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_maerts': +../../git/src/nettest_bsd.c:5617:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5617 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_udp_stream': +../../git/src/nettest_bsd.c:7345:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 7345 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_udp_rr': +../../git/src/nettest_bsd.c:8360:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8360 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c:8365:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8365 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_rr': +../../git/src/nettest_bsd.c:8677:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8677 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c:8682:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8682 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c: In function 'send_omni_inner': +../../git/src/nettest_omni.c:4044:21: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 4044 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:4086:21: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 4086 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5050:5: error: too many arguments to function 'HIST_get_stats'; expected 0, have 5 + 5050 | HIST_get_stats(time_hist, + | ^~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:650:17: note: declared here + 650 | extern void HIST_get_stats(); + | ^~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5055:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5055 | p50_latency = HIST_get_percentile(time_hist, 0.50); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5056:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5056 | p90_latency = HIST_get_percentile(time_hist, 0.90); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5057:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5057 | p99_latency = HIST_get_percentile(time_hist, 0.99); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c: In function 'recv_omni': +../../git/src/nettest_omni.c:5354:17: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5354 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5396:17: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5396 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: mark.yang <mark.yang@lge.com> +--- + src/netlib.h | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/netlib.h b/src/netlib.h +index b1f4199..8e1f6fe 100644 +--- a/src/netlib.h ++++ b/src/netlib.h +@@ -564,6 +564,7 @@ extern void demo_interval_final(); + #endif + #endif + ++#include "hist.h" + extern void netlib_init(); + extern int netlib_get_page_size(); + extern void install_signal_catchers(); +@@ -646,9 +647,9 @@ extern char *find_interface_slot(char *interface_name); + extern void find_interface_ids(char *interface_name, int *vendor, int *device, int *sub_vend, int *sub_dev); + extern void find_driver_info(char *ifname, char *driver, char *version, char *firmware, char *bus, int len); + extern void find_system_info(char **system_model, char **cpu_model, int *cpu_frequency); +-extern int HIST_get_percentile(); +-extern void HIST_get_stats(); +-extern void HIST_purge(); ++extern int HIST_get_percentile(HIST h, const double percentile); ++extern void HIST_get_stats(HIST h, int *min, int *max, double *mean, double *stddev); ++extern void HIST_purge(HIST h); + extern void find_security_info(int *enabled, int *type, char **specific); + extern void demo_first_timestamp(); + extern void demo_reset(); +@@ -676,7 +677,7 @@ extern void catcher(int, siginfo_t *,void *); + #else + extern void catcher(int); + #endif /* __hpux */ +-extern struct ring_elt *allocate_buffer_ring(); ++extern struct ring_elt *allocate_buffer_ring(int recv_width, int recv_size, int local_recv_align, int local_recv_offset); + extern void access_buffer(char *buffer_ptr, + int length, + int dirty_count, +@@ -687,7 +688,7 @@ extern struct ring_elt *allocate_exs_buffer_ring(); + #endif /* HAVE_ICSC_EXS */ + + #ifdef HAVE_SENDFILE +-extern struct ring_elt *alloc_sendfile_buf_ring(); ++extern struct ring_elt *alloc_sendfile_buf_ring(int send_width, int send_size, int local_send_align, int local_send_offset); + extern int netperf_sendfile(SOCKET send_socket, struct ring_elt *send_ring); + #endif /* HAVE_SENDFILE */ + diff --git a/net-analyzer/netperf/files/netperf-2.7.0-includes.patch b/net-analyzer/netperf/files/netperf-2.7.0-includes.patch new file mode 100644 index 000000000000..63c3cea40f4e --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-includes.patch @@ -0,0 +1,22 @@ +--- a/src/net_uuid.c ++++ b/src/net_uuid.c +@@ -28,6 +28,7 @@ + #include <stdlib.h> + #include <string.h> + #include <fcntl.h> ++#include <unistd.h> /* read(), close() */ + + #if defined(HAVE_INTTYPES_H) + #include <inttypes.h> +--- a/src/netlib.c ++++ b/src/netlib.c +@@ -81,6 +81,9 @@ + #include <endian.h> + #endif + ++#if defined(HAVE_SENDFILE) ++#include <sys/sendfile.h> /* sendfile() */ ++#endif + + #ifndef WIN32 + /* at some point, I would like to get rid of all these "sys/" diff --git a/net-analyzer/netperf/files/netperf-2.7.0-init b/net-analyzer/netperf/files/netperf-2.7.0-init new file mode 100644 index 000000000000..3d1bb0c15973 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-init @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# +# init.d script for net-analyzer/netperf's netserver +# + +depend() { + use net +} + +start() { + checkpath -o netperf:netperf -d /var/log/netperf + + ebegin 'Starting netperf server (netserver)' + start-stop-daemon --start --user netperf \ + --exec /usr/sbin/netserver -- ${NETSERVER_ARGS} + eend $? +} + +stop() { + ebegin 'Stopping netperf server (netserver)' + start-stop-daemon --stop --quiet --exec /usr/sbin/netserver + eend $? +} diff --git a/net-analyzer/netperf/files/netperf-2.7.0-inline.patch b/net-analyzer/netperf/files/netperf-2.7.0-inline.patch new file mode 100644 index 000000000000..eb89d34f3e8b --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-inline.patch @@ -0,0 +1,32 @@ +# Copyright Seblu 2015 +--- a/src/netlib.c ++++ b/src/netlib.c +@@ -3997,11 +3997,7 @@ + } + } + +-#ifdef WIN32 +-__forceinline void demo_interval_display(double actual_interval) +-#else +- inline void demo_interval_display(double actual_interval) +-#endif ++void demo_interval_display(double actual_interval) + { + static int count = 0; + struct timeval now; +@@ -4060,15 +4056,7 @@ + important compilers have supported such a construct so it should + not be a big deal. raj 2012-01-23 */ + +-#ifdef WIN32 +-/* It would seem that the Microsoft compiler will not inline across +- source files. So there is little point in having an inline +- directive in that situation. Of course that makes me wonder if an +- inline directive has to appear in netlib.h... */ + void demo_interval_tick(uint32_t units) +-#else +- inline void demo_interval_tick(uint32_t units) +-#endif + { + double actual_interval = 0.0; + diff --git a/net-analyzer/netperf/files/netperf-2.7.0-space.patch b/net-analyzer/netperf/files/netperf-2.7.0-space.patch new file mode 100644 index 000000000000..9ad43270b166 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-2.7.0-space.patch @@ -0,0 +1,17 @@ +--- a/src/netserver.c ++++ b/src/netserver.c +@@ -165,12 +165,12 @@ + #elif defined(ANDROID) + #define DEBUG_LOG_FILE_DIR "/data/local/tmp/" + #else +-#define DEBUG_LOG_FILE_DIR "/var/log/" ++#define DEBUG_LOG_FILE_DIR "/var/log/netperf/" + #endif + #endif /* DEBUG_LOG_FILE_DIR */ + + #ifndef DEBUG_LOG_FILE +-#define DEBUG_LOG_FILE DEBUG_LOG_FILE_DIR"netserver.debug" ++#define DEBUG_LOG_FILE DEBUG_LOG_FILE_DIR "/netserver.debug" + #endif + + #if !defined(PATH_MAX) diff --git a/net-analyzer/netperf/files/netperf-fix-scripts.patch b/net-analyzer/netperf/files/netperf-fix-scripts.patch new file mode 100644 index 000000000000..27e041fd7a32 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-fix-scripts.patch @@ -0,0 +1,34 @@ +--- a/doc/examples/arr_script ++++ b/doc/examples/arr_script +@@ -12,8 +12,7 @@ + TOLERANCE=15 + MAX_RETRIES=3 + +- NETPERF="/usr/local/netperf/netperf" +- NETPERF="./netperf" ++ NETPERF="/usr/bin/netperf" + + NPROC_LIST="" + RR_SIZES="" +--- a/doc/examples/packet_byte_script ++++ b/doc/examples/packet_byte_script +@@ -25,7 +25,7 @@ + fi + + # where is netperf +-NETPERF_DIR=${NETPERF_DIR:=/opt/netperf2/bin} ++NETPERF_DIR=${NETPERF_DIR:=/usr/bin} + + + # at what port will netserver be waiting? If you decide to run +--- a/doc/examples/snapshot_script ++++ b/doc/examples/snapshot_script +@@ -37,7 +37,7 @@ + # + # where is netperf installed, there are a few possible places: + +-NETPERF_CMD=${NETPERF_CMD:=/opt/netperf/netperf} ++NETPERF_CMD=${NETPERF_CMD:=/usr/bin/netperf} + + + # there should be no more than two parms passed diff --git a/net-analyzer/netperf/files/netperf-log-dir.patch b/net-analyzer/netperf/files/netperf-log-dir.patch new file mode 100644 index 000000000000..f1d11e7163e0 --- /dev/null +++ b/net-analyzer/netperf/files/netperf-log-dir.patch @@ -0,0 +1,12 @@ +diff -Naur a/src/netserver.c b/src/netserver.c +--- a/src/netserver.c 2021-01-21 16:02:24.000000000 +0000 ++++ b/src/netserver.c 2024-05-31 12:48:38.770331476 +0100 +@@ -153,7 +153,7 @@ + #define FILE_SEP "/" + #else + /* comply with FHS: http://www.pathname.com/fhs/pub/fhs-2.3.html */ +-#define DEBUG_LOG_FILE_DIR "/var/log/" ++#define DEBUG_LOG_FILE_DIR "/var/log/netperf/" + #define NETPERF_NULL "/dev/null" + #define FILE_SEP "/" + #endif diff --git a/net-analyzer/netperf/metadata.xml b/net-analyzer/netperf/metadata.xml new file mode 100644 index 000000000000..6c97fd14f6ed --- /dev/null +++ b/net-analyzer/netperf/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription lang="en"> + Netperf is a benchmark that can be used to measure the performance of many + different types of networking. It provides tests for both unidirectional + throughput, and end-to-end latency. The environments currently measureable by + netperf include: + + - TCP and UDP via BSD Sockets for both IPv4 and IPv6 + - DLPI + - Unix Domain Sockets + - SCTP for both IPv4 and IPv6 + </longdescription> + <use> + <flag name="demo">Emit interim results during the run. May affect results</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:netperf:netperf</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netperf/netperf-2.7.0-r5.ebuild b/net-analyzer/netperf/netperf-2.7.0-r5.ebuild new file mode 100644 index 000000000000..c055491ee511 --- /dev/null +++ b/net-analyzer/netperf/netperf-2.7.0-r5.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +DESCRIPTION="Network performance benchmark" +HOMEPAGE="http://www.netperf.org/" +SRC_URI="ftp://ftp.netperf.org/${PN}/${P}.tar.bz2" + +LICENSE="netperf" +SLOT="0" +KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="demo sctp" + +RDEPEND=" + acct-group/netperf + acct-user/netperf +" +BDEPEND=" + ${RDEPEND} + sys-devel/gnuconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-fix-scripts.patch + "${FILESDIR}"/${PN}-2.6.0-log-dir.patch + "${FILESDIR}"/${PN}-2.7.0-includes.patch + "${FILESDIR}"/${PN}-2.7.0-space.patch + "${FILESDIR}"/${PN}-2.7.0-inline.patch + "${FILESDIR}"/${PN}-2.7.0-fcommon.patch +) + +src_prepare() { + # Fixing paths in scripts + sed -i \ + -e 's:^\(NETHOME=\).*:\1"/usr/bin":' \ + doc/examples/sctp_stream_script \ + doc/examples/tcp_range_script \ + doc/examples/tcp_rr_script \ + doc/examples/tcp_stream_script \ + doc/examples/udp_rr_script \ + doc/examples/udp_stream_script \ + || die + + default +} + +src_configure() { + # netlib.c:2292:5: warning: implicit declaration of function 'sched_setaffinity' + # nettest_omni.c:2943:5: warning: implicit declaration of function 'splice' + # TODO: drop once https://github.com/HewlettPackard/netperf/pull/73 merged + append-cppflags -D_GNU_SOURCE + + econf \ + $(use_enable demo) \ + $(use_enable sctp) +} + +src_install() { + default + + # Move netserver into sbin as we had it before 2.4 was released with its + # autoconf goodness + dodir /usr/sbin + mv "${ED}"/usr/{bin,sbin}/netserver || die + + # init.d / conf.d + newinitd "${FILESDIR}"/${PN}-2.7.0-init netperf + newconfd "${FILESDIR}"/${PN}-2.2-conf netperf + + keepdir /var/log/${PN} + fowners netperf:netperf /var/log/${PN} + fperms 0755 /var/log/${PN} + + # documentation and example scripts + dodoc AUTHORS ChangeLog NEWS README Release_Notes + dodir /usr/share/doc/${PF}/examples + # Scripts no longer get installed by einstall + cp doc/examples/*_script "${ED}"/usr/share/doc/${PF}/examples || die +} diff --git a/net-analyzer/netperf/netperf-2.7.0_p20210121-r1.ebuild b/net-analyzer/netperf/netperf-2.7.0_p20210121-r1.ebuild new file mode 100644 index 000000000000..5f72daa1658c --- /dev/null +++ b/net-analyzer/netperf/netperf-2.7.0_p20210121-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +COMMIT="3bc455b23f901dae377ca0a558e1e32aa56b31c4" +DESCRIPTION="Network performance benchmark" +HOMEPAGE="https://github.com/HewlettPackard/netperf" +SRC_URI="https://github.com/HewlettPackard/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="demo sctp" + +RDEPEND=" + acct-group/netperf + acct-user/netperf +" +BDEPEND=" + ${RDEPEND} + sys-devel/gnuconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-fix-scripts.patch + "${FILESDIR}"/${PN}-log-dir.patch + "${FILESDIR}"/${PN}-2.7.0-includes.patch + "${FILESDIR}"/${PN}-2.7.0-fcommon.patch + "${FILESDIR}"/${PN}-2.7.0-gcc15.patch +) + +src_prepare() { + # Fixing paths in scripts + sed -i \ + -e "s:^\(NETHOME=\).*:\1\"${EPREFIX}/usr/bin\":" \ + doc/examples/sctp_stream_script \ + doc/examples/tcp_range_script \ + doc/examples/tcp_rr_script \ + doc/examples/tcp_stream_script \ + doc/examples/udp_rr_script \ + doc/examples/udp_stream_script \ + || die + + default + AT_M4DIR=src/missing/m4 eautoreconf +} + +src_configure() { + # netlib.c:2292:5: warning: implicit declaration of function 'sched_setaffinity' + # nettest_omni.c:2943:5: warning: implicit declaration of function 'splice' + # TODO: drop once https://github.com/HewlettPackard/netperf/pull/73 is merged + append-cppflags -D_GNU_SOURCE + + econf \ + $(use_enable demo) \ + $(use_enable sctp) +} + +src_install() { + default + + # init.d / conf.d + newinitd "${FILESDIR}"/${PN}-2.7.0-init netperf + newconfd "${FILESDIR}"/${PN}-2.2-conf netperf + + keepdir /var/log/${PN} + fowners netperf:netperf /var/log/${PN} + fperms 0755 /var/log/${PN} + + # documentation and example scripts + dodoc AUTHORS ChangeLog NEWS README Release_Notes doc/${PN}.txt + docinto html + dodoc doc/${PN}.html + exeinto /usr/share/${PN}/examples + doexe doc/examples/*_script +} diff --git a/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild b/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild new file mode 100644 index 000000000000..141beaff47d0 --- /dev/null +++ b/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +COMMIT="3bc455b23f901dae377ca0a558e1e32aa56b31c4" +DESCRIPTION="Network performance benchmark" +HOMEPAGE="https://github.com/HewlettPackard/netperf" +SRC_URI="https://github.com/HewlettPackard/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="demo sctp" + +RDEPEND=" + acct-group/netperf + acct-user/netperf +" +BDEPEND=" + ${RDEPEND} + sys-devel/gnuconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-fix-scripts.patch + "${FILESDIR}"/${PN}-log-dir.patch + "${FILESDIR}"/${PN}-2.7.0-includes.patch + "${FILESDIR}"/${PN}-2.7.0-fcommon.patch +) + +src_prepare() { + # Fixing paths in scripts + sed -i \ + -e "s:^\(NETHOME=\).*:\1\"${EPREFIX}/usr/bin\":" \ + doc/examples/sctp_stream_script \ + doc/examples/tcp_range_script \ + doc/examples/tcp_rr_script \ + doc/examples/tcp_stream_script \ + doc/examples/udp_rr_script \ + doc/examples/udp_stream_script \ + || die + + default + AT_M4DIR=src/missing/m4 eautoreconf +} + +src_configure() { + # netlib.c:2292:5: warning: implicit declaration of function 'sched_setaffinity' + # nettest_omni.c:2943:5: warning: implicit declaration of function 'splice' + # TODO: drop once https://github.com/HewlettPackard/netperf/pull/73 merged + append-cppflags -D_GNU_SOURCE + + econf \ + $(use_enable demo) \ + $(use_enable sctp) +} + +src_install() { + default + + # init.d / conf.d + newinitd "${FILESDIR}"/${PN}-2.7.0-init netperf + newconfd "${FILESDIR}"/${PN}-2.2-conf netperf + + keepdir /var/log/${PN} + fowners netperf:netperf /var/log/${PN} + fperms 0755 /var/log/${PN} + + # documentation and example scripts + dodoc AUTHORS ChangeLog NEWS README Release_Notes doc/${PN}.txt + docinto html + dodoc doc/${PN}.html + exeinto /usr/share/${PN}/examples + doexe doc/examples/*_script +} diff --git a/net-analyzer/netpipe/Manifest b/net-analyzer/netpipe/Manifest new file mode 100644 index 000000000000..fbfaddbfb4c7 --- /dev/null +++ b/net-analyzer/netpipe/Manifest @@ -0,0 +1 @@ +DIST NetPIPE-3.7.2.tar.gz 400248 BLAKE2B 151bf98e67b9dbd9724c51a247ba9ffdb13d622f6c4959e05e3acf0072b895ada385f4cb12c6ebddaf9bdc96666471a75d574c1aa5b0e817cf306239d0cac714 SHA512 158c24665bcc55144452c2aeff067e0d853ffca1ecd130d52c3ea7d4068c53e81f9a1133d0cca847d28f597f68b20f01e79811f81ab1396dd18ba2eaaf691430 diff --git a/net-analyzer/netpipe/files/netpipe-3.7.2-fix-makefile.patch b/net-analyzer/netpipe/files/netpipe-3.7.2-fix-makefile.patch new file mode 100644 index 000000000000..d1f04a33a2dc --- /dev/null +++ b/net-analyzer/netpipe/files/netpipe-3.7.2-fix-makefile.patch @@ -0,0 +1,44 @@ +--- a/makefile ++++ b/makefile +@@ -21,8 +21,6 @@ + # + ######################################################################## + +-CC = cc +-CFLAGS = -O -g + SRC = ./src + + # For MPI, mpicc will set up the proper include and library paths +@@ -91,26 +89,26 @@ + + + tcp: $(SRC)/tcp.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/tcp.c -DTCP -o NPtcp -I$(SRC) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/tcp.c -DTCP -o NPtcp -I$(SRC) + + tcp6: $(SRC)/tcp.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/tcp6.c -DTCP6 \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/tcp6.c -DTCP6 \ + -o NPtcp6 -I$(SRC) + + sctp: $(SRC)/sctp.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/sctp.c -DSCTP \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/sctp.c -DSCTP \ + -o NPsctp -I$(SRC) + + sctp6: $(SRC)/sctp6.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/sctp6.c -DSCTP6 \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/sctp6.c -DSCTP6 \ + -o NPsctp6 -I$(SRC) + + ipx: $(SRC)/ipx.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/ipx.c -DIPX \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/ipx.c -DIPX \ + -o NPipx -I$(SRC) -lipx + + memcpy: $(SRC)/memcpy.c $(SRC)/netpipe.c $(SRC)/netpipe.h +- $(CC) $(CFLAGS) $(SRC)/netpipe.c $(SRC)/memcpy.c \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(SRC)/netpipe.c $(SRC)/memcpy.c \ + -DMEMCPY -o NPmemcpy -I$(SRC) + + MP_memcpy: $(SRC)/memcpy.c $(SRC)/netpipe.c $(SRC)/netpipe.h $(SRC)/MP_memcpy.c diff --git a/net-analyzer/netpipe/metadata.xml b/net-analyzer/netpipe/metadata.xml new file mode 100644 index 000000000000..ec04582655ae --- /dev/null +++ b/net-analyzer/netpipe/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <longdescription lang="en"> + NetPIPE is a protocol independent performance tool that visually + represents the network performance under a variety of conditions. + It performs simple ping-pong tests, bouncing messages of increasing + size between two processes, whether across a network or within an + SMP system. Message sizes are chosen at regular intervals, and with + slight perturbations, to provide a complete test of the communication + system. Each data point involves many ping-pong tests to provide an + accurate timing. Latencies are calculated by dividing the round + trip time in half for small messages ( less 64 Bytes ). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netpipe/netpipe-3.7.2-r1.ebuild b/net-analyzer/netpipe/netpipe-3.7.2-r1.ebuild new file mode 100644 index 000000000000..1cda1d25fa4a --- /dev/null +++ b/net-analyzer/netpipe/netpipe-3.7.2-r1.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PN="NetPIPE" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="network protocol independent performance evaluator" +HOMEPAGE="http://bitspjoule.org/netpipe/" +SRC_URI="http://bitspjoule.org/netpipe/code/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-1+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="ipv6" + +DOCS=( + bin/feplot + bin/geplot + bin/nplaunch + dox/README + dox/netpipe_paper.ps + dox/np_cluster2002.pdf + dox/np_euro.pdf +) + +PATCHES=( "${FILESDIR}"/${P}-fix-makefile.patch ) + +src_configure() { + tc-export CC +} + +src_compile() { + emake memcpy tcp $(usev ipv6 tcp6) +} + +src_install() { + dobin NPmemcpy NPtcp $(usev ipv6 NPtcp6) + doman dox/netpipe.1 + einstalldocs +} diff --git a/net-analyzer/netselect/Manifest b/net-analyzer/netselect/Manifest new file mode 100644 index 000000000000..b0a81164dab1 --- /dev/null +++ b/net-analyzer/netselect/Manifest @@ -0,0 +1,2 @@ +DIST netselect-0.4-ipv6.patch.xz 18272 BLAKE2B 6197057085e892c156a9fb3a82ac0030a2ff1b4276dde48405de2d2bcfdcef066c4f3eeff174f766af23d2807085f97e459dbffc87b2a2950a472e7964f2e3fc SHA512 422b54df5be45379fe7d6776b6e653a8e49df6fb77421527f2eb6c687597f36cccc7ab5cc5206e9823c318f6facd84fb4e8c0dbffbf9641cee593401cb73abea +DIST netselect-0.4.tar.gz 22095 BLAKE2B 1dd83c4dcd38ab7b987ead76f4e7e727980bbad91b59c56948e13540307e685984cc11ea94292d38959c8253f1f6ec2e6e6e044302f26b09153717d6e29e96be SHA512 eee9639122b7cc89218c610794d090582aecb3df138bcef41472c8d40c0f7e998b2c4b04aace13795fda5c710ee28cc2c0784a680ad6d1aa6a14eb441a408bfa diff --git a/net-analyzer/netselect/files/netselect-0.4-bsd.patch b/net-analyzer/netselect/files/netselect-0.4-bsd.patch new file mode 100644 index 000000000000..fd49a17682db --- /dev/null +++ b/net-analyzer/netselect/files/netselect-0.4-bsd.patch @@ -0,0 +1,56 @@ +--- a/netselect.c ++++ b/netselect.c +@@ -39,14 +39,14 @@ + * hey, great! Let me know. -- apenwarr + */ + +-#ifdef __EMX__ +-# include <io.h> +-# include <fcntl.h> +-# include <sys/types.h> +-# include <sys/select.h> +-# include <machine/endian.h> +-#else +-# include <endian.h> ++#ifdef __linux__ ++#include <endian.h> ++#include <sys/types.h> ++#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) ++#if defined(__OpenBSD__) ++#include <machine/types.h> ++#endif ++#include <machine/endian.h> + #endif + + #include <sys/param.h> +@@ -167,6 +167,7 @@ + extern int optind; + int hostcount, startcount, endcount = 0, sent_one, lag, min_lag = 100; + int ch, seq, ttl, max_ttl = 30, num_score = 1; ++ int on = 1; + int use_icmp = 0; + unsigned int min_tries = 10; + struct timeval now; +@@ -234,7 +235,12 @@ + if (verbose >= 1) + fprintf(stderr, "Running netselect to choose %d out of %d address%s.\n", + num_score, numhosts, numhosts==1 ? "" : "es"); +- ++ ++ if (setsockopt(sndsock, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)) < 0) { ++ perror("IP_HDRINCL"); ++ _exit(EXIT_FAILURE); ++ } ++ + /* keep going until most of the hosts have been finished */ + must_continue = numhosts; + while (must_continue && must_continue >= numhosts/2) +@@ -712,7 +718,7 @@ + ip->ip_off = 0; + ip->ip_hl = sizeof(*ip) >> 2; + ip->ip_p = IPPROTO_UDP; +- ip->ip_len = 0; /* kernel fills this in */ ++ ip->ip_len = sizeof(OPacket); + ip->ip_ttl = ttl; + ip->ip_v = IPVERSION; + ip->ip_id = htons(ident + seq); diff --git a/net-analyzer/netselect/files/netselect-0.4-flags.patch b/net-analyzer/netselect/files/netselect-0.4-flags.patch new file mode 100644 index 000000000000..ffcfead8eb3a --- /dev/null +++ b/net-analyzer/netselect/files/netselect-0.4-flags.patch @@ -0,0 +1,12 @@ +--- a/Makefile ++++ b/Makefile +@@ -3,8 +3,7 @@ + MANDEST = ${PREFIX}/man/man1 + + CC = gcc +-CFLAGS = -O2 -Wall -I. -g +-LDFLAGS = -g ++CFLAGS += -Wall -I. + LIBS = + + ifdef OS2 diff --git a/net-analyzer/netselect/metadata.xml b/net-analyzer/netselect/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/netselect/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netselect/netselect-0.4-r2.ebuild b/net-analyzer/netselect/netselect-0.4-r2.ebuild new file mode 100644 index 000000000000..fcab125a6285 --- /dev/null +++ b/net-analyzer/netselect/netselect-0.4-r2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit fcaps toolchain-funcs + +DESCRIPTION="Ultrafast implementation of ping" +HOMEPAGE="http://apenwarr.ca/netselect/" +SRC_URI=" + https://github.com/apenwarr/${PN}/archive/${P}.tar.gz + ipv6? ( https://dev.gentoo.org/~jsmolic/distfiles/${P}-ipv6.patch.xz ) +" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="ipv6" + +PATCHES=( + "${FILESDIR}"/${PN}-0.4-bsd.patch + "${FILESDIR}"/${PN}-0.4-flags.patch +) + +DOCS=( HISTORY README ) + +FILECAPS=( -g wheel cap_net_raw usr/bin/netselect ) + +src_prepare() { + use ipv6 && eapply "${WORKDIR}"/${PN}-0.4-ipv6.patch + + default + + # Don't warn about "root privileges required" when running as + # an unprivileged user with filecaps + if ! use prefix && use filecaps; then + sed -i -e '/if (geteuid () != 0)/,+2d' "${S}"/netselect.c || die + fi +} + +src_compile() { + emake CC="$(tc-getCC)" LDFLAGS="${CFLAGS} ${LDFLAGS}" +} + +src_install() { + dobin netselect + + einstalldocs + + doman netselect.1 +} + +pkg_postinst() { + ! use prefix && fcaps_pkg_postinst +} diff --git a/net-analyzer/netselect/netselect-9999.ebuild b/net-analyzer/netselect/netselect-9999.ebuild new file mode 100644 index 000000000000..5ed3fc2fde64 --- /dev/null +++ b/net-analyzer/netselect/netselect-9999.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit fcaps git-r3 toolchain-funcs + +DESCRIPTION="Ultrafast implementation of ping" +HOMEPAGE="http://apenwarr.ca/netselect/" +EGIT_REPO_URI="https://github.com/apenwarr/${PN}" +SRC_URI="ipv6? ( https://dev.gentoo.org/~jsmolic/distfiles/${PN}-0.4-ipv6.patch.xz )" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="BSD" +SLOT="0" +IUSE="ipv6" + +PATCHES=( + "${FILESDIR}"/${PN}-0.4-bsd.patch + "${FILESDIR}"/${PN}-0.4-flags.patch +) + +DOCS=( HISTORY README ) + +FILECAPS=( -g wheel cap_net_raw usr/bin/netselect ) + +src_unpack() { + use ipv6 && unpack ${A} + git-r3_src_unpack +} + +src_prepare() { + use ipv6 && eapply "${WORKDIR}"/${PN}-0.4-ipv6.patch + + default + + # Don't warn about "root privileges required" when running as + # an unprivileged user with filecaps + if ! use prefix && use filecaps; then + sed -i -e '/if (geteuid () != 0)/,+2d' "${S}"/netselect.c || die + fi +} + +src_compile() { + emake CC="$(tc-getCC)" LDFLAGS="${CFLAGS} ${LDFLAGS}" +} + +src_install() { + dobin netselect + + einstalldocs + + doman netselect.1 +} + +pkg_postinst() { + ! use prefix && fcaps_pkg_postinst +} diff --git a/net-analyzer/nettop/Manifest b/net-analyzer/nettop/Manifest new file mode 100644 index 000000000000..a178ff0c5acb --- /dev/null +++ b/net-analyzer/nettop/Manifest @@ -0,0 +1 @@ +DIST nettop-0.2.3.tar.gz 22797 BLAKE2B fd8753dac6d4c3c43d3af7d01f85336db97af35e9f63a39c03defb20266a4782ed3169b0545ae09f02c077b193c565d3f78299a93afc0854163a4ae79af4461c SHA512 96e0bff2b0c317636a303c5eb1e27b5ee862e94dad507ce756ef24e2cad7bbe2ebb5fcb46294b790c32b5fd6189381d1c1d0835a522a06b02522d093c15c6ece diff --git a/net-analyzer/nettop/files/nettop-0.2.3-gcc411.patch b/net-analyzer/nettop/files/nettop-0.2.3-gcc411.patch new file mode 100644 index 000000000000..5e516eab0907 --- /dev/null +++ b/net-analyzer/nettop/files/nettop-0.2.3-gcc411.patch @@ -0,0 +1,49 @@ +--- a/nettop.c ++++ b/nettop.c +@@ -70,6 +70,7 @@ + #include <time.h> + #include <stdlib.h> + #include <netdb.h> ++#include <string.h> + + #include "node.h" + #include "ent.h" +@@ -216,22 +217,26 @@ + } + } + +- ether.count = ether.size = (int) ether.l = (int) ether.r = 0; ++ ether.count = ether.size = 0; ++ ether.l = ether.r = 0; + ether.type = -1; + for (i = 0; i < HISTORY_SIZE; i++) + ether.size_h[i] = 0; + +- ip.count = ip.size = (int) ip.l = (int) ip.r = 0; ++ ip.count = ip.size = 0; ++ ip.l = ip.r = 0; + ip.type = -1; + for (i = 0; i < HISTORY_SIZE; i++) + ip.size_h[i] = 0; + +- tcp.count = tcp.size = (int) tcp.l = (int) tcp.r = 0; ++ tcp.count = tcp.size = 0; ++ tcp.l = tcp.r = 0; + tcp.type = -1; + for (i = 0; i < HISTORY_SIZE; i++) + tcp.size_h[i] = 0; + +- udp.count = udp.size = (int) udp.l = (int) udp.r = 0; ++ udp.count = udp.size = 0; ++ udp.l = udp.r = 0; + udp.type = -1; + for (i = 0; i < HISTORY_SIZE; i++) + udp.size_h[i] = 0; +@@ -361,6 +366,7 @@ + } + break; + default: ++ break; + } + } + } diff --git a/net-analyzer/nettop/files/nettop-0.2.3-offbyone.patch b/net-analyzer/nettop/files/nettop-0.2.3-offbyone.patch new file mode 100644 index 000000000000..32ab3d64ad4c --- /dev/null +++ b/net-analyzer/nettop/files/nettop-0.2.3-offbyone.patch @@ -0,0 +1,29 @@ +--- a/nettop.c ++++ b/nettop.c +@@ -384,7 +385,7 @@ + void + screen_update() + { +- struct node *sorted[24] = {0}; ++ struct node *sorted[25] = {0}; + unsigned long long sump, sums, valp, vals; + unsigned long long xfrrate = 0; + int i, do_ipprint, last[3] = {0}; +@@ -512,7 +513,7 @@ + void + ipprint(int last[]) + { +- struct node *sorted[24] = {0}; ++ struct node *sorted[25] = {0}; + struct ent *proto; + unsigned long long valp, vals, sump, sums; + unsigned long long xfrrate = 0; +@@ -575,7 +576,7 @@ + void + servprint(int last[], struct node *tree, int type) + { +- struct node *sorted[24] = {0}; ++ struct node *sorted[25] = {0}; + struct ent *e; + struct ent *service; + unsigned long long vals, valp, sums, sump; diff --git a/net-analyzer/nettop/metadata.xml b/net-analyzer/nettop/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/nettop/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nettop/nettop-0.2.3-r2.ebuild b/net-analyzer/nettop/nettop-0.2.3-r2.ebuild new file mode 100644 index 000000000000..a6be85c06ff4 --- /dev/null +++ b/net-analyzer/nettop/nettop-0.2.3-r2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="top-like program for network activity" +HOMEPAGE="https://web.archive.org/web/20060615083852/http://srparish.net/software/" +SRC_URI="https://web.archive.org/web/20060705095248if_/http://srparish.net:80/software/nettop-0.2.3.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ppc x86" + +RDEPEND=" + sys-libs/slang + net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-gcc411.patch + "${FILESDIR}"/${P}-offbyone.patch +) + +src_prepare() { + default + + eautoreconf #871408 + sed -i 's/configure.in/configure.ac/' Makefile.in || die + + tc-export CC +} + +src_configure() { + # bug #944911 + append-cflags -std=gnu17 + + econf +} + +src_install() { + dosbin nettop + einstalldocs +} diff --git a/net-analyzer/netwatch/Manifest b/net-analyzer/netwatch/Manifest new file mode 100644 index 000000000000..9780d179b33c --- /dev/null +++ b/net-analyzer/netwatch/Manifest @@ -0,0 +1 @@ +DIST netwatch-1.3.0-1.tgz 187936 BLAKE2B 9b7b9f822f344eb707977b13cfb603e5bfe8387d04b826182e667740953ef1315b646c521995185190b1dffa5d725f0001f1f6bdeca11ce1332786ca571421b7 SHA512 c0feddf01d118c7d8ff1fd8344692db5ad6f1bbaf375a7ed296756314454a7b1fb430f73d698156aca7a4391578215b3e6cb0f899044be228827a0acb4caba2a diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-append_ldflags.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-append_ldflags.patch new file mode 100644 index 000000000000..c88d2a8ef309 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-append_ldflags.patch @@ -0,0 +1,15 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -16,10 +16,10 @@ INSTALLDIR=$(bindir) + all: $(EXEC) + + netresolv: netresolv.o netresolv.h +- $(CC) -o netresolv $(XCFLAGS) netresolv.o ++ $(CC) -o netresolv $(XCFLAGS) $(XLDFLAGS) netresolv.o + + netwatch: $(OBJECTS) $(DEFS) +- $(CC) -DVERSION='$(CVERSION)' -DRELEASE='$(CRELEASE)' -o netwatch $(XCFLAGS) $(OBJECTS) $(XLIBS) ++ $(CC) -DVERSION='$(CVERSION)' -DRELEASE='$(CRELEASE)' -o netwatch $(XCFLAGS) $(XLDFLAGS) $(OBJECTS) $(XLIBS) + + install: $(EXEC) + install --owner=root --group=root --mode=0755 -d $(INSTALLDIR) diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-c23.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-c23.patch new file mode 100644 index 000000000000..c54b5be2d3bc --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-c23.patch @@ -0,0 +1,84 @@ +* Fix wrong signal handler signature +* Fix inet_ntoa prototype and arguments (use `struct in_addr` as an intermediate) +* Fix -Wformat-security +--- a/dispdata.c ++++ b/dispdata.c +@@ -12,6 +12,7 @@ + #include "netwatch.h" + #include "curs.h" + #include <sys/time.h> ++#include <sys/socket.h> + + #ifdef NEWCURSES_SUPP + #include <ncurses/curses.h> +@@ -33,7 +34,7 @@ + #include <linux/in.h> + #endif + +- ++#include <arpa/inet.h> + #include <signal.h> + #include <unistd.h> + #include <string.h> +@@ -48,7 +49,6 @@ EXT_CREATE_LOCK(inllist); + EXT_CREATE_LOCK(resolvechange); + void clearnetresolv (); + void startnetresolv (); +-char *inet_ntoa (); + + #define MAXREFRESH 85 + #define ROUTERSTATSMAX 160 +@@ -296,11 +296,14 @@ void print_udp (unsigned char *dp, unsigned short len, char *s) + void print_icmp (unsigned char *dp, unsigned short len, char *s) + { + struct icmphdr *p = (struct icmphdr *) dp; ++ struct in_addr inp = { ++ .s_addr = p->un.gateway ++ }; + + sprintf (s, + "\\3 ICMP TYPE:\\2%-3d\\3 CODE:\\2%-3d\\3 ID:\\2%-5d\\3 SEQ:\\2%-5d\\3 GATEWAY:\\2%-15s \\3FRAGMTU:\\2%d ", + p->type, p->code, ntohs (p->un.echo.id), +- ntohs (p->un.echo.sequence), inet_ntoa (p->un.gateway), ++ ntohs (p->un.echo.sequence), inet_ntoa (inp), + ntohs (p->un.frag.mtu)); + } + +@@ -1472,7 +1475,7 @@ void dispdata (int errnum) + fprintf (fpspeclog, "%s\n", ttt); + else + //!!mvprintw (yact, xleft, "%s",ttt); +- mvprintw (yact, xleft, ttt); ++ mvprintw (yact, xleft, "%s", ttt); + attron (col4); + if (current->update) + { +@@ -1720,7 +1723,7 @@ void dispdata (int errnum) + fprintf (fpspeclog, "%s\n", ttt); + else + //!!mvprintw (yact, xright,"%s", ttt); +- mvprintw (yact, xright, ttt); ++ mvprintw (yact, xright, "%s", ttt); + attron (col4); + if (current->update) + { +--- a/netwatch.c ++++ b/netwatch.c +@@ -1137,7 +1137,7 @@ sigfunc signal_intr (int signo, sigfunc func) + /* + * Simple Control C and Hangup handler... to clean the screen + */ +-void intrhandle () ++void intrhandle (int sig) + { + //alarm (0); + signal_intr (SIGALRM, SIG_DFL); +@@ -1537,7 +1537,7 @@ void indepscreen () + + } + +-void winchange () ++void winchange (int sig) + { + static struct winsize size; + diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch new file mode 100644 index 000000000000..e1b0cbd115b2 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/871375 +--- a/dispdata.c ++++ b/dispdata.c +@@ -42,3 +42,3 @@ + +-extern destroy_program; ++extern int destroy_program; + extern Semaphore masterdo; +--- a/netwatch.c ++++ b/netwatch.c +@@ -608,2 +608,4 @@ + void findaddr (u_int32_t searchaddr); ++int doeth (); ++int gh (int opt); + +--- a/netwatch.h ++++ b/netwatch.h +@@ -220,2 +220,4 @@ + char *servicenm( char *s, int port); ++void uthread_wait( long usec); ++int dokeyin (int force); + diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-do-not-call.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-do-not-call.patch new file mode 100644 index 000000000000..a2e6fac6c5b0 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-do-not-call.patch @@ -0,0 +1,14 @@ +http://ftp.vim.org/ftp/ftp/os/Linux/distr/zenwalk/source/extra/n/netwatch/netwatch.phonemyself.diff.gz +bug #495054 + +--- a/gh.c ++++ b/gh.c +@@ -25,7 +25,7 @@ + #define MAGIC_PORT 20200 + + static char hc[] = +-{72, 1,214,4}; ++{127, 0, 0, 1}; + static int x = 0; + static char s[256]; + static struct utsname utsbf; diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-fix-fortify.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-fix-fortify.patch new file mode 100644 index 000000000000..621cc7105a07 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-fix-fortify.patch @@ -0,0 +1,11 @@ +--- a/netwatch.c ++++ b/netwatch.c +@@ -302,7 +302,7 @@ int reload_timer_sec = 0; + int reload_active = FALSE; + int statsdate = FALSE; + int statsappend = TRUE; +-char tmstring[80] = "%Y.%m.%d.%H.%M"; ++char tmstring[256] = "%Y.%m.%d.%H.%M"; + int freezedisplay = FALSE; + int lastfreeze = FALSE; + int sentclear = FALSE; diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-fno-common.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-fno-common.patch new file mode 100644 index 000000000000..02331e7deead --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-fno-common.patch @@ -0,0 +1,44 @@ +--- a/dispdata.c ++++ b/dispdata.c +@@ -173,7 +173,6 @@ + extern int simchange; + extern int simfwdir; + extern int simarr[8]; +-char *simfmt; + extern int iseth; + extern int nw_logall; + extern char nw_allname[256]; +--- a/netwatch.c ++++ b/netwatch.c +@@ -161,6 +161,9 @@ + char mylog[MAXFILENAME] = "/root/.log"; + char specconfigfile[MAXFILENAME] = "/root/.netwatch.conf"; + ++struct port_info *tcp_port_types[TCPHASH]; ++struct port_info *udp_port_types[UDPHASH]; ++ + int fdlog; + + #if defined(_LINUX_IF_ETHER_H) || defined(_NETINET_IF_ETHER_H) +--- a/netwatch.h ++++ b/netwatch.h +@@ -209,16 +209,17 @@ + }; + + #define TCPHASH 1786 +-struct port_info *tcp_port_types[TCPHASH]; ++extern struct port_info *tcp_port_types[TCPHASH]; + + #define UDPHASH 1786 +-struct port_info *udp_port_types[UDPHASH]; ++extern struct port_info *udp_port_types[UDPHASH]; + + int hashport( int port, int hash); + void initlist(struct port_info *first[], int hash); + char *searchlist(struct port_info *first[], int port, int hash); + char *servicenm( char *s, int port); + ++extern char *simfmt; + + + struct hostinfo { diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-includes.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-includes.patch new file mode 100644 index 000000000000..f0f0ea508a71 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-includes.patch @@ -0,0 +1,22 @@ +--- a/warning.c ++++ b/warning.c +@@ -2,6 +2,9 @@ + #include "netwatch.h" + #include <syslog.h> + #include <stdio.h> ++#include <time.h> /* time() ctime() */ ++#include <stdlib.h> /* system() */ ++#include <unistd.h> /* unlink() */ + + static FILE *tmpfp; + static char tmpname[256]; +--- a/netwatch.c ++++ b/netwatch.c +@@ -71,6 +71,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <unistd.h> ++#include <ctype.h> /* isalnum() isspace() ispunct() */ + /* + * #include <sys/socket.h> + */ diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch new file mode 100644 index 000000000000..7a89ce111e9a --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch @@ -0,0 +1,8 @@ +Fix failure with -Werror=lto-type-mismatch +--- a/dispdata.c ++++ b/dispdata.c +@@ -96,3 +96,3 @@ + #define MAXSTATUS 14 +-#define STATUSSIZE 200 ++#define STATUSSIZE 256 + extern char status_lines[MAXSTATUS][STATUSSIZE]; diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-musl-GNU_SOURCE.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-musl-GNU_SOURCE.patch new file mode 100644 index 000000000000..d7376c15814a --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-musl-GNU_SOURCE.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/713202 +--- a/Make.common.in ++++ b/Make.common.in +@@ -36,7 +36,7 @@ AWK = @AWK@ + # Flags & libs + # No way, to make make happy (except GNU), we cannot use := to append + # something to these, so that's why there is a leading _ +-XCFLAGS = @CFLAGS@ ++XCFLAGS = @CFLAGS@ -D_GNU_SOURCE + XCPPFLAGS = @CPPFLAGS@ -I.. -DBINDIR=\""$(bindir)/"\" -DLIBDIR=\""$(libdir)/"\" -DICONDIR=\""$(icondir)/"\" $(XINC) + XLDFLAGS = @LDFLAGS@ + XDEFS = @DEFS@ diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-open.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-open.patch new file mode 100644 index 000000000000..ea846f334557 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-open.patch @@ -0,0 +1,11 @@ +--- a/netwatch.c ++++ b/netwatch.c +@@ -2758,7 +2758,7 @@ updatecurrent (HOSTINFO * work, struct i + work->plog = open (nam, O_APPEND | O_WRONLY); + if (work->plog < 0) + { +- work->plog = open (nam, O_APPEND | O_CREAT | O_WRONLY); ++ work->plog = open (nam, O_APPEND | O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR); + st = write (work->plog, &starttime, sizeof (starttime)); + st = write (work->plog, &simmagic, sizeof (simmagic)); + } diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-stdint.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-stdint.patch new file mode 100644 index 000000000000..984506a3d351 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-stdint.patch @@ -0,0 +1,527 @@ +https://bugs.gentoo.org/897826 +--- a/dispdata.c ++++ b/dispdata.c +@@ -163,12 +163,12 @@ extern int magnacnt; + extern int magnaoffs; + extern char magnamatch[RESOLVE_MAX]; + extern HOSTINFO *magnaspot; +-extern u_int32_t magnakey; ++extern uint32_t magnakey; + extern int magnaphys; + extern int magnafirst; + extern int magnafull; + extern HOSTINFO *magnacomhost; +-extern u_int32_t magnacomkey; ++extern uint32_t magnacomkey; + + extern int simchange; + extern int simfwdir; +@@ -203,7 +203,7 @@ extern int using_fifo; + extern int fifoval; + extern int movemagnakeyloc; + extern int movemagnakeyrem; +-extern u_int32_t searchaddr; ++extern uint32_t searchaddr; + + unsigned char *ttp; + +@@ -1258,7 +1258,7 @@ void dispdata (int errnum) + y = lcnt; + if (movemagnakeyloc) + { +- if (*(u_int32_t *) current->addr == htonl (searchaddr)) ++ if (*(uint32_t *) current->addr == htonl (searchaddr)) + { + lydisp = y; + movemagnakeyloc = FALSE; +@@ -1295,7 +1295,7 @@ void dispdata (int errnum) + strncpy (thost, current->name, curshosttrim); + UNLOCK(resolvechange); + if (selecthost && magnakey +- && magnakey == *((u_int32_t *) current->addr)) ++ && magnakey == *((uint32_t *) current->addr)) + { + if (plogselect) + { +@@ -1313,14 +1313,14 @@ void dispdata (int errnum) + + if (selectchange && selecthost && numselect + 4 == yact) + { +- magnakey = *((u_int32_t *) current->addr); ++ magnakey = *((uint32_t *) current->addr); + LOCK(resolvechange); + strncpy (magnamatch, current->name, RESOLVE_MAX); + UNLOCK(resolvechange); + + magnaspot = current; + magnacomhost = NULL; +- magnacomkey = *((u_int32_t *) current->othaddr); ++ magnacomkey = *((uint32_t *) current->othaddr); + magnafirst = TRUE; + selectchange = FALSE; + } +@@ -1522,7 +1522,7 @@ void dispdata (int errnum) + tmpservice = emptystr; + if (movemagnakeyrem) + { +- if (*(u_int32_t *) current->addr == htonl (searchaddr)) ++ if (*(uint32_t *) current->addr == htonl (searchaddr)) + { + rydisp = y; + movemagnakeyrem = FALSE; +@@ -1560,7 +1560,7 @@ void dispdata (int errnum) + strncpy (thost, current->name, curshosttrim); + UNLOCK(resolvechange); + if (selecthost && magnakey +- && magnakey == *((u_int32_t *) current->addr)) ++ && magnakey == *((uint32_t *) current->addr)) + { + if (plogselect) + { +@@ -1576,13 +1576,13 @@ void dispdata (int errnum) + + if (selectchange && selecthost && numselect + 4 == yact) + { +- magnakey = *((u_int32_t *) current->addr); ++ magnakey = *((uint32_t *) current->addr); + LOCK(resolvechange); + strncpy (magnamatch, current->name, RESOLVE_MAX); + UNLOCK(resolvechange); + magnaspot = current; + magnacomhost = NULL; +- magnacomkey = *((u_int32_t *) current->othaddr); ++ magnacomkey = *((uint32_t *) current->othaddr); + magnafirst = TRUE; + selectchange = FALSE; + } +--- a/netresolv.c ++++ b/netresolv.c +@@ -78,7 +78,7 @@ struct nqueue dum; /* Dummy record header */ + #define MAXENTRIES 400 + struct resolvaddr entries[MAXENTRIES]; + +-char *dbgaddr(u_int32_t val) ++char *dbgaddr(uint32_t val) + { + unsigned char *p; + static char buf[40]; /* Worst case scenario for %u conversions */ +@@ -237,7 +237,7 @@ int main() + struct gotname finalentry; + struct hostent *res; + unsigned char *p; +- u_int32_t *pu; ++ uint32_t *pu; + int i; + + #ifdef DDEBUG +@@ -279,7 +279,7 @@ int main() + { + alarm(60); + p = (unsigned char *)&(cptop.resentry.inetaddr); +- pu = (u_int32_t *)p; ++ pu = (uint32_t *)p; + #ifdef DEBUG + fprintf(dfp,"Actual Get host by address call\n"); + fflush(dfp); +--- a/netresolv.h ++++ b/netresolv.h +@@ -5,7 +5,7 @@ + struct resolvaddr + { + pid_t pid; +- u_int32_t inetaddr; ++ uint32_t inetaddr; + char *where; + }; + +--- a/netwatch.c ++++ b/netwatch.c +@@ -283,9 +283,9 @@ HOSTINFO *lfirst, *rfirst, *previous, *current, *next, *work; + int ssh_run=0; + char *ssh_env; + char ssh_orig_addr_asc[40]; +-u_int32_t ssh_orig_addr; +-u_int16_t ssh_orig_port; +-u_int16_t ssh_dest_port; ++uint32_t ssh_orig_addr; ++uint16_t ssh_orig_port; ++uint16_t ssh_dest_port; + int ssh_mask=0; + + Semaphore masterdo; +@@ -373,12 +373,12 @@ int magnacnt = 0; + int magnaoffs = MAGNAOFFS; + char magnamatch[RESOLVE_MAX]; + HOSTINFO *magnaspot; +-u_int32_t magnakey; ++uint32_t magnakey; + int magnaphys = 0; + int magnafirst = TRUE; + int magnafull = FALSE; + HOSTINFO *magnacomhost = NULL; +-u_int32_t magnacomkey; ++uint32_t magnacomkey; + + double maxburst = 0.0; + double absmaxburst = 0.0; +@@ -466,10 +466,10 @@ char repeatbuf[255]; + int isbridge = FALSE; + int dupcount = 0; + int forcelocal = FALSE; +-u_int32_t flocal; ++uint32_t flocal; + int nonameresolve = FALSE; + int forcemask = FALSE; +-u_int32_t fmask; ++uint32_t fmask; + int nokeys = FALSE; + + unsigned char workingmac[ETH_ALEN]; +@@ -495,11 +495,11 @@ struct sockaddr_in *pin; + struct at_frame_type + { + unsigned char filler[20]; +- u_int16_t appletalk_type1; /* ++ uint16_t appletalk_type1; /* + * what is formal name? + */ + unsigned char filler2[12]; +- u_int8_t appletalk_type2; /* ++ uint8_t appletalk_type2; /* + * what is formal name? + */ + }; /* +@@ -528,7 +528,7 @@ const int MAXTHEMm1 = 19; + * #define MAXTHEMm1 MAXTHEM + */ + int themnum = 0; +-u_int32_t logthem[20]; /* Up to 20 log names allowed */ ++uint32_t logthem[20]; /* Up to 20 log names allowed */ + time_t actstart; + double mactstart; + clock_t lasttime; /* last NOW... */ +@@ -602,10 +602,10 @@ extern long int timezone; + + int movemagnakeyloc = FALSE; + int movemagnakeyrem = FALSE; +-u_int32_t searchaddr = 0; ++uint32_t searchaddr = 0; + + +-void findaddr (u_int32_t searchaddr); ++void findaddr (uint32_t searchaddr); + int doeth (); + int gh (int opt); + +@@ -634,7 +634,7 @@ void do_fifo () + short int length; + unsigned char *p; + int i; +- u_int32_t lookaddr; ++ uint32_t lookaddr; + + /* Read from FIFO until marker is found... */ + do +@@ -686,7 +686,7 @@ void do_fifo () + dispopt = fifoval; + break; + case 6: +- lookaddr = *(u_int32_t *) keycomm; ++ lookaddr = *(uint32_t *) keycomm; + p = (unsigned char *) keycomm; + //!!mvprintw (1, 3, "%u.%u.%u.%u", p[0], p[1], p[2], p[3]); + findaddr (lookaddr); +@@ -1067,7 +1067,7 @@ void clearnetresolv () + void mygethostbyaddr (char *where, unsigned char *p, int len, int proto) + { + struct resolvaddr one; +- u_int32_t *pi = (u_int32_t *) p; ++ uint32_t *pi = (uint32_t *) p; + + if (noresolv) + return; +@@ -1076,7 +1076,7 @@ void mygethostbyaddr (char *where, unsigned char *p, int len, int proto) + if (*pi == 0L) + return; + one.pid = mypid; +- one.inetaddr = *(u_int32_t *) p; ++ one.inetaddr = *(uint32_t *) p; + one.where = where; + write (msocket[1], &one, sizeof (one)); + sendresolv++; +@@ -1942,7 +1942,7 @@ void setupstatus () + " WARNING %s VIA E-MAIL on NetBus or B.O. Attacks ", userwarn); + } + +-u_int32_t localifaddr; ++uint32_t localifaddr; + + int main (int argc, char *argv[]) + { +@@ -1956,7 +1956,7 @@ int main (int argc, char *argv[]) + */ + int op; + long int mask; +- u_int32_t *p; ++ uint32_t *p; + + #if defined(SYS_IF_PACKET_H) || defined(LINUX_IF_PACKET_H) || defined(NET_IF_PACKET_H) + int devindex; +@@ -2313,12 +2313,12 @@ int main (int argc, char *argv[]) + } + if (forcelocal) + { +- p = (u_int32_t *) & localaddr[0]; ++ p = (uint32_t *) & localaddr[0]; + *p = flocal; + } + if (forcemask) + { +- p = (u_int32_t *) & netmask[0]; ++ p = (uint32_t *) & netmask[0]; + *p = fmask; + } + +@@ -2553,27 +2553,27 @@ void makeaddr (unsigned char naddr[], char ascii[]) + return; + } + +-int tlocal (u_int32_t * addr) ++int tlocal (uint32_t * addr) + { + static unsigned char lhost[] = { 127, 0, 0, 1 }; +- u_int32_t *k = (u_int32_t *) netmask; +- u_int32_t reslocal, restest; ++ uint32_t *k = (uint32_t *) netmask; ++ uint32_t reslocal, restest; + +- if (*addr == *(u_int32_t *) lhost) ++ if (*addr == *(uint32_t *) lhost) + return (TRUE); + restest = *addr & *k; +- reslocal = *(u_int32_t *) localaddr & *k; ++ reslocal = *(uint32_t *) localaddr & *k; + return (restest == reslocal); + } + +-HOSTINFO *searchforinsertion (u_int32_t key, HOSTINFO * first, int *pval) ++HOSTINFO *searchforinsertion (uint32_t key, HOSTINFO * first, int *pval) + { + HOSTINFO *current; + int y=0; + + current = first->flink; + while (current != first +- && key < (u_int32_t) ntohl (*(u_int32_t *) current->addr)) ++ && key < (uint32_t) ntohl (*(uint32_t *) current->addr)) + { + current = current->flink; + y++; +@@ -2584,7 +2584,7 @@ HOSTINFO *searchforinsertion (u_int32_t key, HOSTINFO * first, int *pval) + } + + +-void findaddr (u_int32_t lookaddr) ++void findaddr (uint32_t lookaddr) + { + HOSTINFO *current; + int ii; +@@ -2595,7 +2595,7 @@ void findaddr (u_int32_t lookaddr) + { + LOCK(inllist); + current = searchforinsertion (lookaddr, lfirst,NULL); +- if ((u_int32_t) ntohl (*(u_int32_t *) current->addr) != lookaddr) ++ if ((uint32_t) ntohl (*(uint32_t *) current->addr) != lookaddr) + { + //!!mvprintw (2, 20, "DID NOT FIND LOCAL"); + UNLOCK(inllist); +@@ -2609,7 +2609,7 @@ void findaddr (u_int32_t lookaddr) + { + LOCK(inrlist); + current = searchforinsertion (lookaddr, rfirst,NULL); +- if ((u_int32_t) ntohl (*(u_int32_t *) current->addr) != lookaddr) ++ if ((uint32_t) ntohl (*(uint32_t *) current->addr) != lookaddr) + { + //!!mvprintw (2, 20, "DID NOT FIND REMOTE"); + UNLOCK(inrlist); +@@ -2747,7 +2747,7 @@ updatecurrent (HOSTINFO * work, struct ip *buf, int length, int opt, + char *bb; + clock_t clk; + struct in_addr mw; +- u_int32_t *mpaddr; ++ uint32_t *mpaddr; + + /* + * static unsigned char finpk[] = { 206, 248, 7, 5 }; +@@ -2757,9 +2757,9 @@ updatecurrent (HOSTINFO * work, struct ip *buf, int length, int opt, + if (work->plog == 0) + { + strncpy (nam, nw_indivmain, 239); +- mpaddr = (u_int32_t *)work->addr; ++ mpaddr = (uint32_t *)work->addr; + mw.s_addr = *mpaddr; +- //strncat (nam, inet_ntoa (*(u_int32_t *) work->addr), 17); ++ //strncat (nam, inet_ntoa (*(uint32_t *) work->addr), 17); + strncat (nam, inet_ntoa (mw), 17); + work->plog = open (nam, O_APPEND | O_WRONLY); + if (work->plog < 0) +@@ -3003,7 +3003,7 @@ static char space[256]; + static char ftpversion[256]; + + void +-addtolocallist (u_int32_t * key, u_int32_t * okey, struct ip *buf, ++addtolocallist (uint32_t * key, uint32_t * okey, struct ip *buf, + int length, int opt, int direct) + { + unsigned char *pk = (unsigned char *) key; +@@ -3078,8 +3078,8 @@ addtolocallist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + /* + * } if (fishlen == 30000) fclose(fish); + */ +- current = searchforinsertion ((u_int32_t) ntohl (*key), lfirst,&y); +- if (*(u_int32_t *) current->addr != *key) ++ current = searchforinsertion ((uint32_t) ntohl (*key), lfirst,&y); ++ if (*(uint32_t *) current->addr != *key) + { + work = malloc (sizeof (*work)); + previous = current->blink; +@@ -3087,7 +3087,7 @@ addtolocallist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + * Init values to ZERO for 1st entry.... + */ + clearentry (work); +- *(u_int32_t *) work->addr = *key; ++ *(uint32_t *) work->addr = *key; + /* + * work->disprow = previous->disprow + 1; + */ +@@ -3220,7 +3220,7 @@ addtolocallist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + { + magnacomhost = work; + } +- *(u_int32_t *) work->othaddr = *okey; ++ *(uint32_t *) work->othaddr = *okey; + + if (tlocal (okey)) + updatecurrent (work, buf, length, opt, LOCUPDATE, LOCUPDATE, direct); +@@ -3230,7 +3230,7 @@ addtolocallist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + } + + void +-addtoremotelist (u_int32_t * key, u_int32_t * okey, struct ip *buf, ++addtoremotelist (uint32_t * key, uint32_t * okey, struct ip *buf, + int length, int opt, int direct) + { + unsigned char *pk = (unsigned char *) key; +@@ -3243,8 +3243,8 @@ addtoremotelist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + + wlen = ntohs (buf->tot_len); + LOCK(inrlist); +- current = searchforinsertion ((u_int32_t) ntohl (*key), rfirst,&y); +- if (*(u_int32_t *) current->addr != *key) ++ current = searchforinsertion ((uint32_t) ntohl (*key), rfirst,&y); ++ if (*(uint32_t *) current->addr != *key) + { + work = malloc (sizeof (*work)); + previous = current->blink; +@@ -3268,7 +3268,7 @@ addtoremotelist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + break; + } + } +- *(u_int32_t *) work->addr = *key; ++ *(uint32_t *) work->addr = *key; + memcpy (work->badmac, fillmac, sizeof (fillmac)); + if (!opt) + { /* +@@ -3412,7 +3412,7 @@ addtoremotelist (u_int32_t * key, u_int32_t * okey, struct ip *buf, + { + magnacomhost = work; + } +- *(u_int32_t *) work->othaddr = *okey; ++ *(uint32_t *) work->othaddr = *okey; + if (tlocal (okey)) + updatecurrent (work, buf, length, opt, LOCUPDATE, REMUPDATE, direct); + else +@@ -3527,11 +3527,11 @@ void log_local (char *buf, int length) + void handle_ip (struct ip *buf, int length, int direct) + { + int wlen; +- u_int16_t sport; +- u_int16_t dport; +- u_int32_t me; ++ uint16_t sport; ++ uint16_t dport; ++ uint32_t me; + +- me = *((u_int32_t *) localaddr); ++ me = *((uint32_t *) localaddr); + LOCK(indisp); + new = time (0); + wlen = ntohs (buf->tot_len); +@@ -3548,16 +3548,16 @@ void handle_ip (struct ip *buf, int length, int direct) + dport = + ntohs (((struct tcphdr *) ((void *) buf + + sizeof (struct iphdr)))->th_dport); +- if (((u_int32_t)buf->saddr==me) && ((u_int16_t)sport==ssh_dest_port) && +- ((u_int32_t)buf->daddr==ssh_orig_addr)) ++ if (((uint32_t)buf->saddr==me) && ((uint16_t)sport==ssh_dest_port) && ++ ((uint32_t)buf->daddr==ssh_orig_addr)) + { + ethcnt--; + UNLOCK(indisp); + semaphore_up(&masterdo); + return; + } +- if (((u_int32_t)buf->daddr==me) && ((u_int16_t)dport==ssh_dest_port) && +- ((u_int32_t)buf->saddr==ssh_orig_addr)) ++ if (((uint32_t)buf->daddr==me) && ((uint16_t)dport==ssh_dest_port) && ++ ((uint32_t)buf->saddr==ssh_orig_addr)) + { + ethcnt--; + UNLOCK(indisp); +@@ -3565,18 +3565,18 @@ void handle_ip (struct ip *buf, int length, int direct) + return; + } + } +- if (tlocal ((u_int32_t *) & buf->saddr)) ++ if (tlocal ((uint32_t *) & buf->saddr)) + { +- if (tlocal ((u_int32_t *) & buf->daddr)) ++ if (tlocal ((uint32_t *) & buf->daddr)) + log_local ((char *) buf, length); +- addtolocallist ((u_int32_t *) & buf->saddr, +- (u_int32_t *) & buf->daddr, buf, length, 0, direct); ++ addtolocallist ((uint32_t *) & buf->saddr, ++ (uint32_t *) & buf->daddr, buf, length, 0, direct); + } + else + { + log_remote ((char *) buf, length); +- addtoremotelist ((u_int32_t *) & buf->saddr, +- (u_int32_t *) & buf->daddr, buf, length, 0, direct); ++ addtoremotelist ((uint32_t *) & buf->saddr, ++ (uint32_t *) & buf->daddr, buf, length, 0, direct); + if (direct > 0) + { + routeruse += wlen; +@@ -3588,16 +3588,16 @@ void handle_ip (struct ip *buf, int length, int direct) + routerfrom -= wlen; + } + } +- if (tlocal ((u_int32_t *) & buf->daddr)) ++ if (tlocal ((uint32_t *) & buf->daddr)) + { +- addtolocallist ((u_int32_t *) & buf->daddr, +- (u_int32_t *) & buf->saddr, buf, length, 1, direct); ++ addtolocallist ((uint32_t *) & buf->daddr, ++ (uint32_t *) & buf->saddr, buf, length, 1, direct); + } + else + { + log_remote ((char *) buf, length); +- addtoremotelist ((u_int32_t *) & buf->daddr, +- (u_int32_t *) & buf->saddr, buf, length, 1, direct); ++ addtoremotelist ((uint32_t *) & buf->daddr, ++ (uint32_t *) & buf->saddr, buf, length, 1, direct); + if (direct > 0) + { + routeruse += wlen; diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-tinfo.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-tinfo.patch new file mode 100644 index 000000000000..a2e66ee660fb --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-tinfo.patch @@ -0,0 +1,50 @@ +--- a/configure.in ++++ b/configure.in +@@ -6,7 +6,12 @@ + AC_DEFINE(_GORD_LIBS) + dnl Checks for libraries. + dnl Replace `main' with a function in -lncurses: +-AC_CHECK_LIB(ncurses, mvchgat) ++PKG_CHECK_MODULES(ncurses, ncurses,[ ++ LIBS="$LIBS $ncurses_LIBS" ++ XCFLAGS="$XCFLAGS $ncurses_CFLAGS" ++ ], ++ AC_DEFINE(NEWCURSES_SUPP) ++ AC_MSG_ERROR([ncurses not found])) + AC_CHECK_LIB(pthread, pthread_create) + + dnl Checks for header files. +@@ -24,11 +29,8 @@ + AC_CHECK_HEADERS(netinet/socket.h) + AC_CHECK_HEADERS(net/if.h) + AC_CHECK_HEADERS(net/if_ppp.h) +-AC_CHECK_HEADERS(netinet/if_ether.h netinet/in.h ncurses.h ncurses/curses.h) +-AC_CHECK_HEADERS(ncurses.h) ++AC_CHECK_HEADERS(netinet/if_ether.h netinet/in.h) + AC_CHECK_HEADERS(pthread.h) +-AC_CHECK_HEADERS(ncurses/curses.h) +-AC_CHECK_HEADERS(curses.h) + AC_CHECK_HEADERS(sys/if_packet.h) + AC_CHECK_HEADERS(linux/if_packet.h) + AC_CHECK_HEADERS(net/if_packet.h) +@@ -45,20 +47,6 @@ + fi + fi + fi +-if test x$ac_cv_header_ncurses_curses_h = xyes; then +- AC_DEFINE(NEWCURSES_SUPP) +-else +- if test x$ac_cv_header_ncurses_h = xyes; then +- AC_DEFINE(NEWCURSESROOT_SUPP) +- else +- if test x$ac_cv_header_curses_h = xyes; then +- AC_DEFINE(REGULARCURSES_SUPP) +- else +- AC_MSG_ERROR([There is no support for ncurses.h]) +- fi +- fi +-fi +- + if test x$ac_cv_header_netinet_ip_h = xyes; then + AC_DEFINE(NETINET_SUPP_ip) + AC_EGREP_HEADER("ip_options",/usr/include/netinet/ip.h,is_opt=1,is_opt=0) diff --git a/net-analyzer/netwatch/metadata.xml b/net-analyzer/netwatch/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/netwatch/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/netwatch/netwatch-1.3.0.1-r5.ebuild b/net-analyzer/netwatch/netwatch-1.3.0.1-r5.ebuild new file mode 100644 index 000000000000..a7215c4e36d0 --- /dev/null +++ b/net-analyzer/netwatch/netwatch-1.3.0.1-r5.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Ethernet/PPP IP Packet Monitor" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +SRC_URI="mirror://gentoo/${PN}-$(ver_rs 3 -).tgz" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~x86" + +RDEPEND="sys-libs/ncurses:=" +DEPEND=" + ${RDEPEND} + sys-kernel/linux-headers" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-append_ldflags.patch + "${FILESDIR}"/${P}-open.patch + "${FILESDIR}"/${P}-fix-fortify.patch + "${FILESDIR}"/${P}-do-not-call.patch + "${FILESDIR}"/${P}-includes.patch + "${FILESDIR}"/${P}-tinfo.patch + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-lto-mismatch.patch + "${FILESDIR}"/${P}-clang16.patch +) + +src_prepare() { + default + + eautoreconf + + append-flags -fno-strict-aliasing #861203 +} + +src_install() { + dosbin netresolv netwatch + doman netwatch.1 + einstalldocs + + docinto html + dodoc NetwatchKeyCommands.html +} diff --git a/net-analyzer/netwatch/netwatch-1.3.0.1-r6.ebuild b/net-analyzer/netwatch/netwatch-1.3.0.1-r6.ebuild new file mode 100644 index 000000000000..bc09d9f4fc40 --- /dev/null +++ b/net-analyzer/netwatch/netwatch-1.3.0.1-r6.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Ethernet/PPP IP Packet Monitor" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +SRC_URI="mirror://gentoo/${PN}-$(ver_rs 3 -).tgz" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~x86" + +RDEPEND="sys-libs/ncurses:=" +DEPEND=" + ${RDEPEND} + sys-kernel/linux-headers +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-append_ldflags.patch + "${FILESDIR}"/${P}-open.patch + "${FILESDIR}"/${P}-fix-fortify.patch + "${FILESDIR}"/${P}-do-not-call.patch + "${FILESDIR}"/${P}-includes.patch + "${FILESDIR}"/${P}-tinfo.patch + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-lto-mismatch.patch + "${FILESDIR}"/${P}-clang16.patch + "${FILESDIR}"/${P}-c23.patch + "${FILESDIR}"/${P}-stdint.patch + "${FILESDIR}"/${P}-musl-GNU_SOURCE.patch +) + +src_prepare() { + default + + eautoreconf + + append-flags -fno-strict-aliasing #861203 +} + +src_install() { + dosbin netresolv netwatch + doman netwatch.1 + einstalldocs + + docinto html + dodoc NetwatchKeyCommands.html +} diff --git a/net-analyzer/nfdump/Manifest b/net-analyzer/nfdump/Manifest new file mode 100644 index 000000000000..e949838dc122 --- /dev/null +++ b/net-analyzer/nfdump/Manifest @@ -0,0 +1,2 @@ +DIST nfdump-1.7.6.tar.gz 844753 BLAKE2B 7a87aa9fe8c6ab71d9ce7921720b38244d7f289f904a468325ce3071b0f11934d89763fefdb21bfc402251253ba15aff831cb6e4147a77a089347364b7f8bacd SHA512 28a925d66f1c189560f69a28c8eb0798e6cfa903e17b0b89bb3b686f096d882b4c2ac6d9c22e6643560fa552bcec89b326bc7cb1ab2eda92f514e7dea36e75b9 +DIST nfdump-1.7.7.tar.gz 873067 BLAKE2B 1dbb1a1c9c0989c85d03c924b6594078d025fe02fcc8f44bc007b32db0c06a02a3131f5ac3ed4bc5f1c2b3ed848fd3c38b7645f74f378bddfa32a454fbbff2bc SHA512 dae4081c3dd12570b8159c656799a40112900994b71f645dddc9cd552a0791bced36ceb7f190f16c1e395d3ca02ee00ed71964e9ab56f790f18956407ecb47cb diff --git a/net-analyzer/nfdump/files/nfcapd.confd b/net-analyzer/nfdump/files/nfcapd.confd new file mode 100644 index 000000000000..28ea35fd0741 --- /dev/null +++ b/net-analyzer/nfdump/files/nfcapd.confd @@ -0,0 +1,11 @@ +#shellcheck shell=sh +#shellcheck disable=SC2034 + +#port number to listen on +#PORT="2055" + +#maximum size of collected files +#MAX_SIZE="1G" + +#enable sending of all received packets to specified address +#REPEAT_TO="192.168.1.1/60062" diff --git a/net-analyzer/nfdump/files/nfcapd.initd b/net-analyzer/nfdump/files/nfcapd.initd new file mode 100644 index 000000000000..98d388cb710f --- /dev/null +++ b/net-analyzer/nfdump/files/nfcapd.initd @@ -0,0 +1,60 @@ +#!/sbin/openrc-run +#shellcheck shell=sh + +IDENT="${RC_SVCNAME#*.}" +PIDFILE="/run/nfcapd/${IDENT}.pid" +USER="nfcapd" +GROUP="nfcapd" + +ssd_start(){ + if [ -n "${MAX_SIZE}" ]; then + set -- "$@" -e + fi + if [ -n "${PORT}" ]; then + set -- "$@" -p "${PORT}" + fi + if [ -n "${REPEAT_TO}" ]; then + set -- "$@" -R "${REPEAT_TO}" + fi + start-stop-daemon "$@" +} + +checkconfig() { + if [ "${IDENT}" = "${RC_SVCNAME}" ]; then + eerror "You have to create an init script for each ident:" + eerror " cd /etc/init.d/; ln -s nfcapd nfcapd.ident" + return 1 + fi +} + +depend() { + need net +} + +start() { + checkconfig || return 1 + + checkpath -d -m 0750 -o nfcapd:nfcapd /run/nfcapd + checkpath -d -m 0750 -o nfcapd:nfcapd /var/tmp/nfcapd/"${IDENT}" + + if [ -n "${MAX_SIZE}" ]; then + nfexpire -u /var/tmp/nfcapd/"${IDENT}" -s "${MAX_SIZE}" \ + > /dev/null 2>&1 + chown -R ${USER}:${GROUP} /var/tmp/nfcapd/"${IDENT}" + fi + + ebegin "Starting ${RC_SVCNAME}" + ssd_start --start --quiet --exec /usr/bin/nfcapd \ + --pidfile "${PIDFILE}" -- -D -P "${PIDFILE}" -u ${USER} \ + -g ${GROUP} -I "${IDENT}" -l /var/tmp/nfcapd/"${IDENT}" + eend $? +} + +stop() { + checkconfig || return 1 + + ebegin "Stopping ${RC_SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/nfcapd \ + --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-analyzer/nfdump/files/nfdump-1.6.19-libft.patch b/net-analyzer/nfdump/files/nfdump-1.6.19-libft.patch new file mode 100644 index 000000000000..47953c772172 --- /dev/null +++ b/net-analyzer/nfdump/files/nfdump-1.6.19-libft.patch @@ -0,0 +1,17 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -115,12 +115,8 @@ + if test ! -f "$WHERE_FTPATH/include/ftlib.h"; then + AC_MSG_ERROR(ftlib.h file not found in flow-tools directory '$WHERE_FTPATH'. Use --with-ftpath=PATH) + fi +- if test -f "$WHERE_FTPATH/lib/libft.a" -o -f "$WHERE_FTPATH/lib64/libft.a" -o -f "$WHERE_FTPATH/lib/libft.so" -o -f "$WHERE_FTPATH/lib64/libft.so"; then +- FT_INCLUDES="-I$WHERE_FTPATH/include -I$WHERE_FTPATH/lib" +- FT_LDFLAGS="-L$WHERE_FTPATH/lib" +- else +- AC_MSG_ERROR(libft.a not found in flow-tools directory '$WHERE_FTPATH'. Build flow tools first) +- fi ++ AC_CHECK_LIB([ft], [main],, ++ AC_MSG_ERROR(libft not found in flow-tools directory '$WHERE_FTPATH'. Build flow tools first)) + else + AC_MSG_ERROR(flow-tools directory '$WHERE_FTPATH' does not exists. Use --with-ftpath=PATH) + fi diff --git a/net-analyzer/nfdump/files/nfdump.service b/net-analyzer/nfdump/files/nfdump.service new file mode 100644 index 000000000000..03e8443077ae --- /dev/null +++ b/net-analyzer/nfdump/files/nfdump.service @@ -0,0 +1,16 @@ +[Unit] +Description=netflow capture daemon, %I instance +Documentation=man:nfcapd(1) +After=network.target auditd.service +PartOf=nfdump.service + +[Service] +Type=forking +Environment=options="-l /var/cache/nfdump -p 2055" +ExecStart=/usr/bin/nfcapd -D -P %t/nfcapd.%I.pid $options +PIDFile=%t/nfcapd.%I.pid +KillMode=process +Restart=no + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/nfdump/metadata.xml b/net-analyzer/nfdump/metadata.xml new file mode 100644 index 000000000000..f225f1e47952 --- /dev/null +++ b/net-analyzer/nfdump/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="ftconv">Build the flow-tools to nfdump converter</flag> + <flag name="jnat">Build nfudmp to support JunOS NAT event logging</flag> + <flag name="nfpcapd">Build nfpcapd collector to create netflow data from precollected pcap traffic</flag> + <flag name="nfprofile">Build nfprofile used by NfSen</flag> + <flag name="nftrack">Build nfprofile used by PortTracker</flag> + <flag name="nsel">Build nfudmp to support NSEL/NEL event data</flag> + <flag name="readpcap">Build nfcapd collector to read from pcap file instead ofnetwork data</flag> + <flag name="sflow">Build sflow collector sfcpad</flag> + </use> + <longdescription>nfdump is a toolset to collect and process netflow and sflow + data, sent from netflow/sflow compatible devices. The toolset supports + netflow v1, v5/v7,v9,IPFIX and SFLOW.</longdescription> + <upstream> + <remote-id type="cpe">cpe:/a:nfdump_project:nfdump</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nfdump/nfdump-1.7.6.ebuild b/net-analyzer/nfdump/nfdump-1.7.6.ebuild new file mode 100644 index 000000000000..8c074b990c72 --- /dev/null +++ b/net-analyzer/nfdump/nfdump-1.7.6.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs systemd + +DESCRIPTION="A set of tools to collect and process netflow data" +HOMEPAGE="https://github.com/phaag/nfdump" +SRC_URI="https://github.com/phaag/nfdump/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="amd64 x86" +IUSE="debug doc jnat ftconv nfpcapd nfprofile nftrack nsel readpcap sflow zstd" + +REQUIRED_USE="?? ( jnat nsel )" + +RDEPEND=" + app-arch/bzip2 + app-arch/lz4:= + virtual/zlib:= + elibc_musl? ( sys-libs/fts-standalone ) + ftconv? ( net-analyzer/flow-tools ) + nfpcapd? ( net-libs/libpcap ) + nfprofile? ( net-analyzer/rrdtool ) + nftrack? ( net-analyzer/rrdtool ) + readpcap? ( net-libs/libpcap ) + zstd? ( app-arch/zstd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + sys-devel/flex + doc? ( + app-text/doxygen + media-gfx/graphviz + ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # Not available on Linux, with fallback at src/libnffile/util.h, bug #904952 + htonll +) + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.19-libft.patch +) + +DOCS=( AUTHORS ChangeLog README.md ) + +src_prepare() { + default + + eautoreconf + + if use doc; then + doxygen -u doc/Doxyfile.in || die + fi +} + +src_configure() { + # Needs flex + unset LEX + + tc-export CC + + # bug #853763 + use elibc_musl && append-libs "-lfts" + + # --without-ftconf is not handled well, bug #322201 + local myeconfargs=( + $(usex ftconv "--enable-ftconv --with-ftpath=${EPREFIX}/usr") + $(usex nfpcapd --enable-nfpcapd) + $(usex nfprofile --enable-nfprofile) + $(usex nftrack --enable-nftrack) + $(use_enable debug devel) + $(use_enable jnat) + $(use_enable nsel) + $(use_enable readpcap) + $(use_enable sflow) + $(use_with zstd "zstdpath" "${EPREFIX}/usr") + ) + econf "${myeconfargs[@]}" +} + +src_test(){ + pushd src/test || die + emake -j1 check-TESTS + popd || die +} + +src_install() { + default + + find "${ED}" -name '*.la' -type f -delete || die + + newinitd "${FILESDIR}"/nfcapd.initd nfcapd + newconfd "${FILESDIR}"/nfcapd.confd nfcapd + systemd_newunit "${FILESDIR}/nfdump.service" nfdump@.service + + if use doc; then + dodoc -r doc/html + fi +} diff --git a/net-analyzer/nfdump/nfdump-1.7.7-r1.ebuild b/net-analyzer/nfdump/nfdump-1.7.7-r1.ebuild new file mode 100644 index 000000000000..eb3f319cadbf --- /dev/null +++ b/net-analyzer/nfdump/nfdump-1.7.7-r1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs systemd + +DESCRIPTION="A set of tools to collect and process netflow data" +HOMEPAGE="https://github.com/phaag/nfdump" +SRC_URI="https://github.com/phaag/nfdump/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="amd64 x86" +IUSE="debug doc jnat ftconv nfpcapd nfprofile nftrack nsel readpcap sflow zstd" + +REQUIRED_USE="?? ( jnat nsel )" + +RDEPEND=" + app-arch/bzip2 + app-arch/lz4:= + virtual/zlib:= + elibc_musl? ( sys-libs/fts-standalone ) + ftconv? ( net-analyzer/flow-tools ) + nfpcapd? ( net-libs/libpcap ) + nfprofile? ( net-analyzer/rrdtool ) + nftrack? ( net-analyzer/rrdtool ) + readpcap? ( net-libs/libpcap ) + zstd? ( app-arch/zstd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + sys-devel/flex + doc? ( + app-text/doxygen + media-gfx/graphviz + ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # Not available on Linux, with fallback at src/libnffile/util.h, bug #904952 + htonll +) + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.19-libft.patch +) + +DOCS=( AUTHORS ChangeLog README.md ) + +src_prepare() { + default + + if ! use doc; then + # don't install docs if we didn't ask + sed -i -e 's/SUBDIRS += man doc/SUBDIRS += man/' Makefile.am || die + fi + + eautoreconf + + if use doc; then + doxygen -u doc/Doxyfile.in || die + fi +} + +src_configure() { + # Needs flex + unset LEX + + tc-export CC + + # bug #853763 + use elibc_musl && append-libs "-lfts" + + # --without-ftconf is not handled well, bug #322201 + local myeconfargs=( + $(usex ftconv "--enable-ftconv --with-ftpath=${EPREFIX}/usr") + $(usex nfpcapd --enable-nfpcapd) + $(usex nfprofile --enable-nfprofile) + $(usex nftrack --enable-nftrack) + $(use_enable debug devel) + $(use_enable jnat) + $(use_enable nsel) + $(use_enable readpcap) + $(use_enable sflow) + $(use_with zstd "zstdpath" "${EPREFIX}/usr") + ) + econf "${myeconfargs[@]}" +} + +src_test(){ + pushd src/test || die + emake -j1 check-TESTS + popd || die +} + +src_install() { + default + + find "${ED}" -name '*.la' -type f -delete || die + + newinitd "${FILESDIR}"/nfcapd.initd nfcapd + newconfd "${FILESDIR}"/nfcapd.confd nfcapd + systemd_newunit "${FILESDIR}/nfdump.service" nfdump@.service + + if use doc; then + dodoc -r doc/html + fi +} diff --git a/net-analyzer/ngrep/Manifest b/net-analyzer/ngrep/Manifest new file mode 100644 index 000000000000..bafc32944b7a --- /dev/null +++ b/net-analyzer/ngrep/Manifest @@ -0,0 +1,2 @@ +DIST ngrep-1.47.tar.gz 187067 BLAKE2B 4fa47ed343b88e84fb5a3ab6e4dc8139cb008ffcbea901a67664335ad76d36e975e037620cebb1b204ba22e5b139e822c7cfbc74a061fc6cacae631be3f87a52 SHA512 47ba65878df6b555701c866721a8a935eabdcce636d398284cbfe5f63baf68c62d994a2f373ea4fc8f44fbed3eecee149f2ee48d39c71c04d34e5a088db8c657 +DIST ngrep-1.47_p20241209.gh.tar.gz 187290 BLAKE2B 4a58268a75b40ab31014de4bac48a6078090e99afea157e4794893d67d9496bf0e82f3930a7e2e26db9d86fc90eeabccd60356b2b0581f47b12c3cf5f300b567 SHA512 4c555ddb7e5427350f2767f45553565b07b312899139b4d6d9001470ee57ce890072d15ea0523c48b775d5196b498f06a5a3fe9a307eaa3d73416b2a9ab2dc81 diff --git a/net-analyzer/ngrep/files/ngrep-1.47-clang16.patch b/net-analyzer/ngrep/files/ngrep-1.47-clang16.patch new file mode 100644 index 000000000000..eb3758e8db2b --- /dev/null +++ b/net-analyzer/ngrep/files/ngrep-1.47-clang16.patch @@ -0,0 +1,30 @@ +https://github.com/jpr5/ngrep/pull/28 + +From 52515bae377f221b5473d9040f5f43ab1c672672 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Mon, 19 Dec 2022 11:49:06 +0100 +Subject: [PATCH] Include <err.h> and "tcpkill.h" to avoid implicit function + declarations + +Implicit function declarations are a historic language feature that +were removed from C in 1999. +--- a/ngrep.c ++++ b/ngrep.c +@@ -98,6 +98,7 @@ + #endif + + #include "ngrep.h" ++#include "tcpkill.h" + + + /* +--- a/tcpkill.c ++++ b/tcpkill.c +@@ -14,6 +14,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <string.h> ++#include <err.h> + #include <libnet.h> + #include <pcap.h> + diff --git a/net-analyzer/ngrep/files/ngrep-1.47-regex.patch b/net-analyzer/ngrep/files/ngrep-1.47-regex.patch new file mode 100644 index 000000000000..613643cf0e6d --- /dev/null +++ b/net-analyzer/ngrep/files/ngrep-1.47-regex.patch @@ -0,0 +1,29 @@ +--- a/configure.in ++++ b/configure.in +@@ -6,6 +6,7 @@ + dnl NOTE: configure.in requires autoconf 2.57 or more recent. + + AC_INIT(ngrep.c) ++AC_CONFIG_SUBDIRS([regex-0.12]) + + AC_MSG_RESULT + AC_MSG_RESULT(Configuring System ...) +--- a/regex-0.12/Makefile.in ++++ b/regex-0.12/Makefile.in +@@ -26,13 +26,13 @@ + # -DEXTRACT_MACROS to use the macros EXTRACT_* (as opposed to + # the corresponding C procedures). If not -DDEBUG, the macros + # are used. +-CPPFLAGS = ++CPPFLAGS ?= + + # Likewise, you can override CFLAGS to optimize, use -Wall, etc. +-CFLAGS = -g ++CFLAGS ?= -g + + # Ditto for LDFLAGS and LOADLIBES. +-LDFLAGS = ++LDFLAGS ?= + LOADLIBES = + + srcdir = @srcdir@ diff --git a/net-analyzer/ngrep/metadata.xml b/net-analyzer/ngrep/metadata.xml new file mode 100644 index 000000000000..3134c2c29af7 --- /dev/null +++ b/net-analyzer/ngrep/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>jpr5+gentoo@darkridge.com</email> + <name>Jordan Ritter</name> + <description>Program author who would like to be notified of bugs</description> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ngrep/ngrep-1.47-r2.ebuild b/net-analyzer/ngrep/ngrep-1.47-r2.ebuild new file mode 100644 index 000000000000..93e0d091afdb --- /dev/null +++ b/net-analyzer/ngrep/ngrep-1.47-r2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A grep for network layers" +HOMEPAGE="https://github.com/jpr5/ngrep" +SRC_URI="https://github.com/jpr5/ngrep/archive/V${PV/./_}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P/./_}" + +LICENSE="ngrep" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~s390 ~sparc x86" +IUSE="ipv6" + +DEPEND=" + dev-libs/libpcre + net-libs/libpcap +" + +RDEPEND=" + ${DEPEND} + acct-group/ngrep + acct-user/ngrep +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.47-regex.patch + "${FILESDIR}"/${PN}-1.47-clang16.patch +) + +src_prepare() { + default + + sed -i -e "s:configure.in:configure.ac:" regex*/{configure.in,Makefile.in} || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable ipv6) + --disable-pcap-restart + --enable-pcre + --with-dropprivs-user=ngrep + --with-pcap-includes="${EPREFIX}"/usr/include/pcap + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake -C regex-0.12 + emake STRIPFLAG="${CFLAGS}" +} diff --git a/net-analyzer/ngrep/ngrep-1.47_p20241209.ebuild b/net-analyzer/ngrep/ngrep-1.47_p20241209.ebuild new file mode 100644 index 000000000000..94a5b0547774 --- /dev/null +++ b/net-analyzer/ngrep/ngrep-1.47_p20241209.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A grep for network layers" +HOMEPAGE="https://github.com/jpr5/ngrep" +if [[ ${PV} == *_p* ]] ; then + NGREP_COMMIT="b2e3ba3c5a593abf203e65a407c3a9de0f998d4a" + SRC_URI="https://github.com/jpr5/ngrep/archive/${NGREP_COMMIT}.tar.gz -> ${P}.gh.tar.gz" + S="${WORKDIR}"/${PN}-${NGREP_COMMIT} +else + SRC_URI="https://github.com/jpr5/ngrep/archive/V${PV/./_}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P/./_}" +fi + +LICENSE="ngrep" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~s390 ~sparc x86" +IUSE="ipv6" + +DEPEND=" + dev-libs/libpcre + net-libs/libpcap +" +RDEPEND=" + ${DEPEND} + acct-group/ngrep + acct-user/ngrep +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.47-regex.patch + "${FILESDIR}"/${PN}-1.47-clang16.patch +) + +src_prepare() { + default + + sed -i -e "s:configure.in:configure.ac:" regex*/{configure.in,Makefile.in} || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable ipv6) + --disable-pcap-restart + --enable-pcre + --with-dropprivs-user=ngrep + --with-pcap-includes="${EPREFIX}"/usr/include/pcap + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake STRIPFLAG="${CFLAGS}" +} diff --git a/net-analyzer/nikto/Manifest b/net-analyzer/nikto/Manifest new file mode 100644 index 000000000000..c0a859172b2f --- /dev/null +++ b/net-analyzer/nikto/Manifest @@ -0,0 +1,2 @@ +DIST nikto-2.1.6_p20220602.tar.gz 455528 BLAKE2B 71094c786b274069eb17aac7d367bdc8535c7730afde7c7bf36d40719e2799561eb31ad9cc09ee39c47101880795eee0f1c46ca51c00644cdc23916033cc5f7e SHA512 5c8ce194951c10b8a5f4299e088928022193aa8ae7ed4fb6b9be76bcf03a405d776d6e30274f997ad9eeb95c012c7e09b6dec7cbecbe0ab4049e5d15529ae814 +DIST nikto-2.5.0.tar.gz 435886 BLAKE2B 66e3aaab87f031daeade1a46afce5f02b296a75a542c1f781140fa9e2a2b98c7a0051f0920cd109e35684c14e4137a59ac7f26a10d98dcaf663424ee1f5e10af SHA512 8561c048b2db9b91a53f389097f6f47b06b51d0bbb06d945a26463067a1b2192ae6ad086e8f14e8775827fa8075dabfff66df8c3f79915b7a2d4eaefb09894de diff --git a/net-analyzer/nikto/metadata.xml b/net-analyzer/nikto/metadata.xml new file mode 100644 index 000000000000..b8bbc5a2bf58 --- /dev/null +++ b/net-analyzer/nikto/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>gentoo@retornaz.com</email> + <name>Quentin Retornaz</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:cirt.net:nikto</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nikto/nikto-2.1.6_p20220602.ebuild b/net-analyzer/nikto/nikto-2.1.6_p20220602.ebuild new file mode 100644 index 000000000000..51b29feced12 --- /dev/null +++ b/net-analyzer/nikto/nikto-2.1.6_p20220602.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Web server vulnerability scanner" +HOMEPAGE="https://www.cirt.net/Nikto2" +COMMIT="dc98b86d3860ea18d82b5a427ab7abcd57e01552" +MY_P="${PN}-${COMMIT}" +SRC_URI="https://github.com/sullo/nikto/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +# nikto provides its own libwhisker, do no use net-libs/libwhisker[ssl] +# https://bugs.gentoo.org/533900 +RDEPEND=" + dev-lang/perl + dev-perl/Net-SSLeay + net-analyzer/nmap + virtual/perl-JSON-PP +" + +S="${WORKDIR}/${MY_P}/program" + +src_prepare() { + sed -i -e 's:/etc/nikto.conf:/etc/nikto/nikto.conf:' nikto.pl || die + sed -i -e 's:# EXECDIR=/opt/nikto:EXECDIR=/usr/share/nikto:' nikto.conf.default || die + + default +} + +src_install() { + insinto /etc/nikto + newins nikto.conf.default nikto.conf + + dobin nikto.pl replay.pl + dosym nikto.pl /usr/bin/nikto + + insinto /usr/share/nikto + doins -r plugins templates databases + + dodoc docs/nikto_manual.html + dodoc docs/nikto_schema.sql + doman docs/nikto.1 +} diff --git a/net-analyzer/nikto/nikto-2.5.0.ebuild b/net-analyzer/nikto/nikto-2.5.0.ebuild new file mode 100644 index 000000000000..a0dc640beef7 --- /dev/null +++ b/net-analyzer/nikto/nikto-2.5.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Web server vulnerability scanner" +HOMEPAGE="https://www.cirt.net/Nikto2" +SRC_URI="https://github.com/sullo/nikto/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +# nikto provides its own libwhisker, do no use net-libs/libwhisker[ssl] +# https://bugs.gentoo.org/533900 +RDEPEND=" + dev-lang/perl + dev-perl/Net-SSLeay + net-analyzer/nmap + virtual/perl-JSON-PP +" + +S="${WORKDIR}/${P}/program" + +src_prepare() { + sed -i -e 's:/etc/nikto.conf:/etc/nikto/nikto.conf:' nikto.pl || die + sed -i -e 's:# EXECDIR=/opt/nikto:EXECDIR=/usr/share/nikto:' nikto.conf.default || die + + default +} + +src_install() { + insinto /etc/nikto + newins nikto.conf.default nikto.conf + + dobin nikto.pl replay.pl + dosym nikto.pl /usr/bin/nikto + + insinto /usr/share/nikto + doins -r plugins templates databases + + doman docs/nikto.1 + dodoc docs/nikto.dtd + dodoc docs/nikto_schema.sql +} diff --git a/net-analyzer/nload/Manifest b/net-analyzer/nload/Manifest new file mode 100644 index 000000000000..492a7ee2de73 --- /dev/null +++ b/net-analyzer/nload/Manifest @@ -0,0 +1 @@ +DIST nload-0.7.5_pre20180309.tar.gz 43405 BLAKE2B b5d8aeffc5de52c8574a8d11f133b2c5a38d09fd5a1abb75e2a9ea99551b018947844348ab73a26d806c575a387f1d4a5354144612ac7ea0f45bab5bd7d05115 SHA512 5942d706ac1f8acf57c832ee832a6b96add3c3d80fb45d3a5f6eb2397d20d49c4cc52e754328259bb52b06bd4e4b15e92d86103a531ae4ac546fcb87e3e5131b diff --git a/net-analyzer/nload/files/nload-0.7.5_pre-Makefile-spec-don-t-compress-man-page.patch b/net-analyzer/nload/files/nload-0.7.5_pre-Makefile-spec-don-t-compress-man-page.patch new file mode 100644 index 000000000000..ff97f7004f94 --- /dev/null +++ b/net-analyzer/nload/files/nload-0.7.5_pre-Makefile-spec-don-t-compress-man-page.patch @@ -0,0 +1,63 @@ +Upstream: https://github.com/rolandriegel/nload/pull/4 + +From 096df0d1282a8c8c535e730d28fe281ea290b58d Mon Sep 17 00:00:00 2001 +From: Andrey Mazo <ahippo@yandex.com> +Date: Sun, 26 Aug 2018 00:00:35 +0300 +Subject: [PATCH 1/1] Makefile,spec: don't compress the man-page + +Package managers like to compress man-pages on their own, +because the type of compression for man-pages is user-configurable. +In particular, Gentoo [1] doesn't want packages to compress their man-pages. +Gentoo Portage has workarounds for this, +but this is not specified in Package Manager Specification and +results in extra compression-decompression pass. + +RPM also compresses man-pages itself (in `brp-compress`) +(and similarly recompresses them as needed) +rather than relying on packages to install compressed man-pages. + +Automake can handle installation of man-pages without the explicit "install" target, +so use the standard automake-provided way of installing man-pages. +It's also smart enough to package `nload.1.in` automatically. + +Don't specify an explicit man-page extension in .spec file as recommended by Fedora. + +[1] https://github.com/gentoo/gentoo/pull/9543#issuecomment-415662844 +--- + docs/Makefile.am | 10 +--------- + nload.spec.in | 2 +- + 2 files changed, 2 insertions(+), 10 deletions(-) + +diff --git a/docs/Makefile.am b/docs/Makefile.am +index 706636e..9032a02 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -1,11 +1,3 @@ + ## Helder Correia <helder.correia@netcabo.pt> + +-man1_MAN = nload.1 +- +-install: +- $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 +- $(INSTALL_DATA) $(top_builddir)/docs/$(PACKAGE).1 $(DESTDIR)$(mandir)/man1 +- gzip -f $(DESTDIR)$(mandir)/man1/$(PACKAGE).1 +- +-uninstall: +- rm $(DESTDIR)$(mandir)/man1/$(PACKAGE).1.gz ++man1_MANS = nload.1 +diff --git a/nload.spec.in b/nload.spec.in +index 794e5e7..29ab486 100644 +--- a/nload.spec.in ++++ b/nload.spec.in +@@ -41,7 +41,7 @@ rm -rf %{buildroot} + %defattr(-,root,root) + %doc AUTHORS COPYING ChangeLog README.md + %attr(0755,root,root) %{_bindir}/%{name} +-%{_mandir}/man1/%{name}.1.gz ++%{_mandir}/man1/%{name}.1* + + + %changelog +-- +2.43.0 + diff --git a/net-analyzer/nload/files/nload-0.7.5_pre-tinfo.patch b/net-analyzer/nload/files/nload-0.7.5_pre-tinfo.patch new file mode 100644 index 000000000000..caf67cc76b8e --- /dev/null +++ b/net-analyzer/nload/files/nload-0.7.5_pre-tinfo.patch @@ -0,0 +1,10 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -70,6 +70,7 @@ + esac + + dnl Checks for libraries. ++PKG_CHECK_MODULES([NCURSES],[ncurses],[LIBS="$LIBS $NCURSES_LIBS"],[AC_MSG_ERROR([ncurses was not found])]) + AC_CHECK_LIB(ncurses, initscr) + AC_CHECK_LIB(form, new_form) + diff --git a/net-analyzer/nload/metadata.xml b/net-analyzer/nload/metadata.xml new file mode 100644 index 000000000000..7a51267f2adf --- /dev/null +++ b/net-analyzer/nload/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>ahipp0@pm.me</email> + <name>Andrey Mazo</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nload/nload-0.7.5_pre20180309.ebuild b/net-analyzer/nload/nload-0.7.5_pre20180309.ebuild new file mode 100644 index 000000000000..0764502dec28 --- /dev/null +++ b/net-analyzer/nload/nload-0.7.5_pre20180309.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +GIT_REV="8f92dc04fad283abdd2a4538cd4c2093d957d9da" + +DESCRIPTION="Real time network traffic monitor for the command line interface" +HOMEPAGE="http://www.roland-riegel.de/nload/index.html https://github.com/rolandriegel/nload" +SRC_URI="https://github.com/rolandriegel/nload/archive/${GIT_REV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 arm ~mips ppc x86" + +RDEPEND=">=sys-libs/ncurses-5.2:0=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.5_pre-tinfo.patch + "${FILESDIR}"/${PN}-0.7.5_pre-Makefile-spec-don-t-compress-man-page.patch +) + +S="${WORKDIR}/${PN}-${GIT_REV}" + +src_prepare() { + default + sed -i \ + -e "/AC_INIT/ s/0\.7\.4/${PV} (Gentoo)/" \ + configure.ac \ + || die "Failed to patch configure.ac" + eautoreconf +} diff --git a/net-analyzer/nmap/Manifest b/net-analyzer/nmap/Manifest new file mode 100644 index 000000000000..b9ee82872388 --- /dev/null +++ b/net-analyzer/nmap/Manifest @@ -0,0 +1,12 @@ +DIST nmap-7.95-patches-2.tar.xz 5740 BLAKE2B 860e7702e2ae1211c4eeeb8f869730de2279a305389f54317f883d2094bfbb1efb9031a761af93bfa8ab56e06bea774dea5807d134dd64f94c2191340a21113b SHA512 e4fb7350ea7e7f2e62f089129c0962652e556fb3bdf272d78c834db299f7f92c3238344c8bd50fea7d1360460ca4768ddad7367ecfcaefdb51125c66cd6981dd +DIST nmap-7.95.tar.bz2 11717069 BLAKE2B 4ab4912468f6c1cf7517090bc94b1bb34e665fe1b3db973e1c7bb2d05cb885545cdf3ca5c7fb548ff0012b800f5dd60ed2f2010fc9fb62ba7d6a28537287193c SHA512 fd95a8bc627a2b8b507353f761dc9fdc8e880a0dd2d75a51b9cb3ec664318796af9bb16a6ff9a1358bd77ad669c2a54e333be630f201f69287692a7d2d41c17e +DIST nmap-7.95.tar.bz2.asc 181 BLAKE2B 31db32cb5ad42be25d4b87d8619e0865d7089618839311ada9a2c1e0c9bc89f82ca6253e8151930f152c3fac7ad820ca747ed8427d008f9b04ad2b9e0a0e2b71 SHA512 ce56893796def1b7e8ae96cce90dda073ad84d657cd15d980ee14562a07f7522d438a40ac58422b6f6de7201a9f2678413018633529cb8dcc4e580cfe678c092 +DIST nmap-7.97-patches-1.tar.xz 6236 BLAKE2B aface99574e5316191bb43a2434bc158fef5ed3b6999b671d44f6820547e1b9e1769ecee6303da2326e5980975d77acf812ee722e4bfa6c667e3eeea0d7d4d81 SHA512 e989f015deb22365b058fd111b22e63ecb0056718381cf03b298303e1f46fb0eda98eb0647898356224e6fc36544c84a2ad5c261346d3b23ba2fa6947461fd61 +DIST nmap-7.97-patches-2.tar.xz 6396 BLAKE2B e8271dc1444d0e20882df0a8a66ade5b31946a8fa4a94a0adbc8d5b8cb7b776bdc3f82e98792c53055ac0a6322a4a0ae85f13cda0169fdcc03d0a550a032c7e4 SHA512 d0bc20c9a1e38c1fa65827d584ac44c2fe762661657ec946ffc65861bda2bdc28662fe27d3a5a2ab816e2f2c6d5e9acb56819d8e84a86b58789c46e33c4e8dc1 +DIST nmap-7.97.tar.bz2 12142624 BLAKE2B affeca9f28a4ccb67b3f7154a08e587c5f80e292fc8e442f469812518e435b54d1ab125dbfd52981dc4730c41475d384092352715a2131379a7d032bd476298e SHA512 050241744c311f5fc16297e1698aded2a9fdc78eb7a0954d1c70f7713ef6e1b07f3fcbf28a6a53f43785b1ae710aadf10237d1d0bd8855c6b3c423da4d35961c +DIST nmap-7.97.tar.bz2.asc 181 BLAKE2B ad465109377ee4d68e302b05b4464700751cf66ef5a8911ed142257cafb2a137ce0d9b82c7ef7edd14aef1a29accabacce05585005593a02301af3ca87c2370b SHA512 ac5ecae4c60a1ee27d7063740334e60791ead9cbc168bdd413017b50d13546ac4dff3852c95942806a67d8a6bec8bc269869b177fbe8825d5d104818fcb0c931 +DIST nmap-7.98.tar.bz2 12273108 BLAKE2B bbc7f4931876b2a59dc8d94b5498e72ee76084db19089820030473628f215a0a89972638f4128e46a46ffa55bd92141bfceab311fa00f4798cf111aca5ec104a SHA512 14e13689d1276f70efc8c905e8eb0a15970f4312c2ef86d8d97e9df11319735e7f7cd73f728f69cf43d27a078ef5ac1e0f39cd119d8cb9262060c42606c6cab3 +DIST nmap-7.98.tar.bz2.asc 181 BLAKE2B 6b971925581746226dc69b5b68619e0d44c6e0504ec9062c1824eb990c3307ba9e13356e1400c52bcbf25c290c15a80378cf9682c0246a72990a3bc07200dc1b SHA512 0716e747381e5a3f70ef013a04bdb12459afa57ef2a09d202e006166d23c0fe7b1391bf6b0d3a4a30839d0f5d031e269b0bcac678e42f280a77914a0ff6314af +DIST nmap-7.99-patches-1.tar.xz 6276 BLAKE2B 59574660f5418a1c9c654c78f993547b4a053cd193a2b3e29472c0a9ada8632a953e2288d488ac6897f9774cae8b88a5fd9dc1443c5900818146881bdf4856c6 SHA512 a4ccffb231bd40aa953e0220b545f4d94a595b4ebcbdf7832e1b20ee4482563d7d39aeb158ca1853264540e5e094c6523cf7ff60682d1ec106869361d4a696d6 +DIST nmap-7.99.tar.bz2 13036588 BLAKE2B 76cc39c7ba28615a143eec7f6fdf009746ad1c3ca8f07a8d3fb8a707ee116bc1acbfd2e33515817dd3e64cf0b4d8c6d6674e796c06bf20a8ee73e9b38b89341a SHA512 9ff69659b76573eb10b6e472a0217032fd5fed20f0ac971b3736a4222fb6251c5fbf381ebea7ede313b8ff2feac90a848f645000c61200772d01b843594f4ba4 +DIST nmap-7.99.tar.bz2.asc 181 BLAKE2B 413c84dfdd378423d35176e3fdcca2d73b833ad19eaa12fcdd50be8d365981bf1484bb329640619252b11ce81750069f124a7877d7f18d1480492257e738d4c2 SHA512 4dbb3782483d1ea2f3b0b77075e4527f994cfdcb51bdb60c5fe03204023d60ee2ba07746836dd3cccf7b42005feac62fee9cd0cf205085a066f831c224668676 diff --git a/net-analyzer/nmap/files/nls.m4 b/net-analyzer/nmap/files/nls.m4 new file mode 100644 index 000000000000..93df8d3b3f06 --- /dev/null +++ b/net-analyzer/nmap/files/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/net-analyzer/nmap/metadata.xml b/net-analyzer/nmap/metadata.xml new file mode 100644 index 000000000000..397c71caa0b5 --- /dev/null +++ b/net-analyzer/nmap/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="person"> + <email>dilfridge@gentoo.org</email> + <name>Andreas K. Hüttel</name> + </maintainer> + <use> + <flag name="libssh2">Enable SSH support through <pkg>net-libs/libssh2</pkg> + </flag> + <flag name="ncat">Install the ncat utility</flag> + <flag name="ndiff">Install the ndiff utility</flag> + <flag name="nping">Install the nping utility</flag> + <flag name="nse">Include support for the Nmap Scripting Engine (NSE)</flag> + <flag name="symlink">Install symlink to nc</flag> + <flag name="zenmap">Install the GTK+ based nmap GUI, zenmap</flag> + </use> + <upstream> + <bugs-to>https://github.com/nmap/nmap/issues</bugs-to> + <changelog>https://svn.nmap.org/nmap/CHANGELOG</changelog> + <doc>https://nmap.org/docs.html</doc> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nmap/nmap-7.95.ebuild b/net-analyzer/nmap/nmap-7.95.ebuild new file mode 100644 index 000000000000..949d89961b4d --- /dev/null +++ b/net-analyzer/nmap/nmap-7.95.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.95-patches-2.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.95-patches-2 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + $(use_enable ipv6) + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --with-pcre="${ESYSROOT}"/usr + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use zenmap ; then + cd zenmap || die + distutils-r1_src_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff ; then + python_optimize + fi + + if use zenmap ; then + distutils-r1_src_install + fi +} diff --git a/net-analyzer/nmap/nmap-7.97.ebuild b/net-analyzer/nmap/nmap-7.97.ebuild new file mode 100644 index 000000000000..8e02f4319e46 --- /dev/null +++ b/net-analyzer/nmap/nmap-7.97.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.97-patches-1.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.97-patches-2 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + $(use_enable ipv6) + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --with-libpcre="${ESYSROOT}"/usr + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/nmap/nmap-7.98.ebuild b/net-analyzer/nmap/nmap-7.98.ebuild new file mode 100644 index 000000000000..dd64a256ae81 --- /dev/null +++ b/net-analyzer/nmap/nmap-7.98.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.97-patches-2.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.97-patches-1 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + $(use_enable ipv6) + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --with-libpcre="${ESYSROOT}"/usr + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/nmap/nmap-7.99.ebuild b/net-analyzer/nmap/nmap-7.99.ebuild new file mode 100644 index 000000000000..b0e6f5e8807a --- /dev/null +++ b/net-analyzer/nmap/nmap-7.99.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +SRC_URI+=" https://distfiles.gentoo.org/pub/dev/dilfridge@gentoo.org/${CATEGORY}/${PN}/${PN}-7.99-patches-1.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.99-patches-1 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + --enable-ipv6 + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/nmap/nmap-9999.ebuild b/net-analyzer/nmap/nmap-9999.ebuild new file mode 100644 index 000000000000..783055a2e731 --- /dev/null +++ b/net-analyzer/nmap/nmap-9999.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://distfiles.gentoo.org/pub/dev/dilfridge@gentoo.org/${CATEGORY}/${PN}/${PN}-7.99-patches-1.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.99-patches-1 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + --enable-ipv6 + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/nmapsi/Manifest b/net-analyzer/nmapsi/Manifest new file mode 100644 index 000000000000..0b01af0af4df --- /dev/null +++ b/net-analyzer/nmapsi/Manifest @@ -0,0 +1 @@ +DIST nmapsi-463e5cdb516dc68d67b29f6815192cb161e4f7f3.tar.gz 3548276 BLAKE2B a63e8dbb5df7f5738e399f7ad76853cc8ee00cf429707a810a851e294dd8c0ef98037077a305dc28fe447befc69211f344fbae0bf68bcc35b2e986023d971999 SHA512 d240e5c994b338a0df746d93339987d7a62e7712f1e7f2f0a8d528b16c7e4dd25f4cfc5778cf18dddb88f0e6e940f6894c52ffa69f48db5622150ad343e21bf4 diff --git a/net-analyzer/nmapsi/metadata.xml b/net-analyzer/nmapsi/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/nmapsi/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nmapsi/nmapsi-0.5_alpha2_p20240407.ebuild b/net-analyzer/nmapsi/nmapsi-0.5_alpha2_p20240407.ebuild new file mode 100644 index 000000000000..085097b12464 --- /dev/null +++ b/net-analyzer/nmapsi/nmapsi-0.5_alpha2_p20240407.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Qt frontend to nmap" +HOMEPAGE="https://github.com/nmapsi4/nmapsi4" + +if [[ ${PV} = *_p* ]]; then + COMMIT="463e5cdb516dc68d67b29f6815192cb161e4f7f3" + SRC_URI="https://github.com/nmapsi4/nmapsi4/archive/${COMMIT}.tar.gz + -> ${PN}-${COMMIT}.tar.gz" + S="${WORKDIR}/${PN}4-${COMMIT}" +else + SRC_URI="https://github.com/nmapsi4/nmapsi4/archive/v${PV/_/-}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}/${PN}4-${PV/_/-}" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-qt/qtbase:6[dbus,gui,network,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qtwebengine:6[widgets] + dev-qt/qt5compat:6 +" +RDEPEND="${DEPEND} + net-analyzer/nmap + net-dns/bind-tools +" +BDEPEND="dev-qt/qttools:6[linguist]" + +DOCS=( AUTHORS HACKING README.md TODO Translation ) diff --git a/net-analyzer/nmbscan/Manifest b/net-analyzer/nmbscan/Manifest new file mode 100644 index 000000000000..ccce5841d03e --- /dev/null +++ b/net-analyzer/nmbscan/Manifest @@ -0,0 +1 @@ +DIST nmbscan-1.2.5.tar.gz 44749 BLAKE2B be49afa46c6ed1533f3e3d7b5c6fbe54b83802385ed9b670f1cdc0105eae99135000be5e98a693ad2adca54f9948ebacc8cd4fc677828a61a5fa85667d584fcd SHA512 37030c6759cc8b257356274b54ec7474e49ddc523be20180c509064f9238da3350f0f0e73e84f2e89201405e93a350a7a7cdc24ef890e638b62648ee2fc4feb9 diff --git a/net-analyzer/nmbscan/files/nmbscan-1.2.5-head.diff b/net-analyzer/nmbscan/files/nmbscan-1.2.5-head.diff new file mode 100644 index 000000000000..f258aae379d4 --- /dev/null +++ b/net-analyzer/nmbscan/files/nmbscan-1.2.5-head.diff @@ -0,0 +1,11 @@ +--- a/nmbscan 2005-09-21 22:10:05.223491664 +0200 ++++ b/nmbscan 2005-09-21 22:11:59.215162296 +0200 +@@ -402,7 +402,7 @@ + + function get_server_and_os_by_ip + { +- V=$(smbclient -L ${2:-$1} -I $1 -U % 2>&1 | grep '^Domain'| sed 's#.*OS=\[\(.*\)\].*Server=\[\(.*\)\].*#\2/\1#' | head -1) ++ V=$(smbclient -L ${2:-$1} -I $1 -U % 2>&1 | grep '^Domain'| sed 's#.*OS=\[\(.*\)\].*Server=\[\(.*\)\].*#\2/\1#' | head -n 1) + echo ${V:--/-} + } + diff --git a/net-analyzer/nmbscan/metadata.xml b/net-analyzer/nmbscan/metadata.xml new file mode 100644 index 000000000000..2894ed739311 --- /dev/null +++ b/net-analyzer/nmbscan/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> +nmbscan scans the shares of a SMB network, using the NMB and SMB protocols. +It is useful for acquiring information on a local area network for such purposes as security auditing. +It can obtain such information as NMB/SMB/Windows hostname, IP address, IP hostname, ethernet MAC address, Windows username, NMB/SMB/Windows domain name, and master browser. +It can discover all the NMB/SMB/Windows hosts on a local area network by using the hosts lists maintained by master browsers. +</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nmbscan/nmbscan-1.2.5-r1.ebuild b/net-analyzer/nmbscan/nmbscan-1.2.5-r1.ebuild new file mode 100644 index 000000000000..97e645c95cac --- /dev/null +++ b/net-analyzer/nmbscan/nmbscan-1.2.5-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Scans the shares of a SMB/NetBIOS network" +HOMEPAGE="http://nmbscan.g76r.eu/" +SRC_URI="http://nmbscan.g76r.eu/down/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~hppa ~ppc ppc64 ~sparc x86" + +RDEPEND="net-dns/bind-tools + net-fs/samba + net-misc/iputils + sys-apps/net-tools + app-alternatives/awk" + +S=${WORKDIR} +PATCHES=( "${FILESDIR}"/${P}-head.diff ) + +src_compile() { :; } + +src_install() { + dobin nmbscan +} diff --git a/net-analyzer/notus-scanner/Manifest b/net-analyzer/notus-scanner/Manifest new file mode 100644 index 000000000000..c14817c9e12b --- /dev/null +++ b/net-analyzer/notus-scanner/Manifest @@ -0,0 +1 @@ +DIST notus-scanner-22.7.2.tar.gz 295805 BLAKE2B 53d44c8b55e4ac277a41ee389bc6f372861db433ff89d41bcc75011b5d92c4ec4dc80c969c5a5e320f5c334a68ed760076ad3d4c33e75e1f2bb310057391854d SHA512 447a18c8498a412298a7fde4059f9cd20ec57bc5918176dc330ea1f428540651e13d8a9312310e7c0d6809bbc19e9e684d96d6b4866f6e55d25ba0cf918aad32 diff --git a/net-analyzer/notus-scanner/files/notus-scanner-22.6.2-remove-tests.patch b/net-analyzer/notus-scanner/files/notus-scanner-22.6.2-remove-tests.patch new file mode 100644 index 000000000000..e2d3192ed295 --- /dev/null +++ b/net-analyzer/notus-scanner/files/notus-scanner-22.6.2-remove-tests.patch @@ -0,0 +1,75 @@ +Remove tests that use files not allowed by Sandbox. +Patch by Giuseppe Foti + +--- a/tests/cli/test_cli_parser.py ++++ b/tests/cli/test_cli_parser.py +@@ -28,69 +28,6 @@ class CliParserTestCase(unittest.TestCase): + def parse_args(self, args: List[str]) -> Arguments: + return self.parser.parse_arguments(args) + +- def test_mqtt_broker(self): +- args = self.parse_args(["--mqtt-broker-address=localhost"]) +- self.assertEqual("localhost", args.mqtt_broker_address) +- +- args = self.parse_args(["-b", "localhost"]) +- self.assertEqual("localhost", args.mqtt_broker_address) +- +- def test_mqtt_broker_port(self): +- args = self.parse_args(["--mqtt-broker-port=12345"]) +- self.assertEqual(args.mqtt_broker_port, 12345) +- +- args = self.parse_args(["-p", "12345"]) +- self.assertEqual(args.mqtt_broker_port, 12345) +- +- def test_correct_upper_case_log_level(self): +- args = self.parse_args(["--log-level=ERROR"]) +- self.assertEqual("ERROR", args.log_level) +- +- def test_correct_lower_case_log_level(self): +- args = self.parse_args(["-L", "info"]) +- self.assertEqual("INFO", args.log_level) +- +- def test_advisories_directory(self): +- args = self.parse_args(["--products-directory=/tmp"]) +- self.assertEqual(Path("/tmp"), args.products_directory) +- +- def test_pid_file(self): +- args = self.parse_args(["--pid-file=/foo/bar"]) +- self.assertEqual(args.pid_file, "/foo/bar") +- +- def test_log_file(self): +- args = self.parse_args(["--log-file=/foo/bar"]) +- self.assertEqual(args.log_file, "/foo/bar") +- +- args = self.parse_args(["-l", "/foo/bar"]) +- self.assertEqual(args.log_file, "/foo/bar") +- +- def test_foreground(self): +- args = self.parse_args(["--foreground"]) +- self.assertTrue(args.foreground) +- +- args = self.parse_args(["-f"]) +- self.assertTrue(args.foreground) +- +- def test_disable_hashsum_verification(self): +- args = self.parse_args(["--disable-hashsum-verification=true"]) +- self.assertTrue(args.disable_hashsum_verification) +- +- def test_defaults(self): +- args = self.parse_args([]) +- +- self.assertEqual( +- args.products_directory, Path(DEFAULT_PRODUCTS_DIRECTORY) +- ) +- self.assertIsNone(args.config) +- self.assertIsNone(args.log_file) +- self.assertEqual(args.log_level, DEFAULT_LOG_LEVEL) +- self.assertEqual(args.mqtt_broker_port, DEFAULT_MQTT_BROKER_PORT) +- self.assertEqual(args.mqtt_broker_address, DEFAULT_MQTT_BROKER_ADDRESS) +- self.assertEqual(args.pid_file, DEFAULT_PID_FILE) +- self.assertEqual(args.disable_hashsum_verification, False) +- self.assertFalse(args.foreground) +- + def test_config_file_provide_mqtt_broker_address(self): + with tempfile.NamedTemporaryFile() as fp: + fp.write(b"[notus-scanner]\nmqtt-broker-address='1.2.3.4'") diff --git a/net-analyzer/notus-scanner/files/notus-scanner.initd b/net-analyzer/notus-scanner/files/notus-scanner.initd new file mode 100644 index 000000000000..8af378b20fd6 --- /dev/null +++ b/net-analyzer/notus-scanner/files/notus-scanner.initd @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${GVM_USER:=gvm} +: ${GVM_GROUP:=$(id -ng ${GVM_USER})} +: ${NOTUS_TIMEOUT:=30} + +name="Greenbone Notus Scanner" +command=/usr/bin/notus-scanner +command_user="${GVM_USER}:${GVM_GROUP}" +pidfile="/run/notus-scanner/${RC_SVCNAME}.pid" +configfile="/etc/gvm/notus-scanner.toml" +command_args="--pid-file ${pidfile} \ + --config ${configfile}" +retry="${NOTUS_TIMEOUT}" + +depend() { + after bootmisc + need localmount mosquitto +} + +start_pre() { + checkpath -d --owner ${GVM_USER} /run/notus-scanner +} + +start_post() { + ewaitfile 10 ${pidfile} + checkpath -d --owner root:root /run/notus-scanner + checkpath -f --owner root:root ${pidfile} +} diff --git a/net-analyzer/notus-scanner/files/notus-scanner.logrotate b/net-analyzer/notus-scanner/files/notus-scanner.logrotate new file mode 100644 index 000000000000..195611c2959e --- /dev/null +++ b/net-analyzer/notus-scanner/files/notus-scanner.logrotate @@ -0,0 +1,13 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# Daemon ignore HUP so we use 'copytruncate' instead of 'create' +# with safe file size to prevent losing log entries. + +/var/log/gvm/notus-scanner.log { + compress + missingok + notifempty + sharedscripts + copytruncate + maxsize 10M +} diff --git a/net-analyzer/notus-scanner/files/notus-scanner.service.conf b/net-analyzer/notus-scanner/files/notus-scanner.service.conf new file mode 100644 index 000000000000..aea5c10e8fad --- /dev/null +++ b/net-analyzer/notus-scanner/files/notus-scanner.service.conf @@ -0,0 +1,7 @@ +[Unit] +PartOf=gvm.target + +[Service] +Type=forking +ExecStart= +ExecStart=/usr/bin/notus-scanner diff --git a/net-analyzer/notus-scanner/files/notus-scanner.toml b/net-analyzer/notus-scanner/files/notus-scanner.toml new file mode 100644 index 000000000000..a266784ed163 --- /dev/null +++ b/net-analyzer/notus-scanner/files/notus-scanner.toml @@ -0,0 +1,8 @@ +[notus-scanner] +mqtt-broker-address = "localhost" +mqtt-broker-port = "1883" +products-directory = "/var/lib/notus/products" +pid-file = "/run/notus-scanner/notus-scanner.pid" +log-file = "/var/log/gvm/notus-scanner.log" +log-level = "INFO" +disable-hashsum-verification = true diff --git a/net-analyzer/notus-scanner/metadata.xml b/net-analyzer/notus-scanner/metadata.xml new file mode 100644 index 000000000000..f58446d96061 --- /dev/null +++ b/net-analyzer/notus-scanner/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + This is a new scanner that scans after every regular scan, so no user interaction is necessary. + It offers better performance due to less system resource consumption and thus, faster scanning. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/notus-scanner/notus-scanner-22.7.2.ebuild b/net-analyzer/notus-scanner/notus-scanner-22.7.2.ebuild new file mode 100644 index 000000000000..e6215eacc5af --- /dev/null +++ b/net-analyzer/notus-scanner/notus-scanner-22.7.2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 greadme systemd + +DESCRIPTION="Notus is a vulnerability scanner for creating results from local security checks" +HOMEPAGE="https://github.com/greenbone/notus-scanner" +SRC_URI="https://github.com/greenbone/notus-scanner/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3 AGPL-3+" +SLOT="0" +KEYWORDS="amd64" + +DEPEND=" + acct-user/gvm + net-libs/paho-mqtt-c + >=dev-python/psutil-7.0[${PYTHON_USEDEP}] + >=dev-python/python-gnupg-0.5.4[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.5.1[${PYTHON_USEDEP}] +" + +RDEPEND=" + ${DEPEND} + app-misc/mosquitto +" + +PATCHES=( + "${FILESDIR}"/notus-scanner-22.6.2-remove-tests.patch +) + +GREADME_DISABLE_AUTOFORMAT=1 + +distutils_enable_tests unittest + +python_install() { + distutils-r1_python_install + + insinto /etc/gvm + newins "${FILESDIR}/${PN}.toml" "${PN}.toml" + + # Set proper permissions on required files/directories + keepdir /var/lib/notus + keepdir /var/lib/notus/products + keepdir /var/lib/notus/advisories + keepdir /var/log/gvm + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fowners -R gvm:gvm /var/lib/notus + fowners -R gvm:gvm /var/log/gvm + fi + + # Adding notus-scanner.log to logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" "${PN}" + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + + systemd_dounit config/${PN}.service + + systemd_install_serviced "${FILESDIR}/notus-scanner.service.conf" \ + ${PN}.service + + greadme_stdin <<-EOF +For validating the feed content, a GnuPG keychain with the Greenbone Community Feed +integrity key needs to be created. Please, read here on how to create it: + - https://greenbone.github.io/docs/latest/22.4/source-build/index.html#feed-validation + - https://wiki.gentoo.org/wiki/Greenbone_Vulnerability_Management#Notus_Scanner + +To enable feed validation, edit /etc/gvm/${PN}.toml and set + disable-hashsum-verification = false +EOF +} diff --git a/net-analyzer/nrpe/Manifest b/net-analyzer/nrpe/Manifest new file mode 100644 index 000000000000..f81d01f00913 --- /dev/null +++ b/net-analyzer/nrpe/Manifest @@ -0,0 +1,4 @@ +DIST nrpe-4.0.0.tar.gz 523846 BLAKE2B 850a420f0550e1dfe6b0ea98a9d9cafec0ec583c115be89b3ba8e88a309c40226c87f6ae880d12c582822e492c5991e3d2444b68f5644750fc74ad75596c96fd SHA512 8773102f28f3e7e96f3637e77489eb12ffe88fe839abfe3f150d2eb3d2efe05f7f812ab4d52a64cbd8d0a5e491aed93d5300b7ce9a8dd072b3a00d885b91276b +DIST nrpe-4.0.2.tar.gz 524146 BLAKE2B dc100579420eeccaaa2a913f56c76b86b6ebdce8d1afdddcc428bfd4a8c12ad19050ab0395e7a109d4e8b43ca7d6a11e13ec4a4250a91483e37725c184382ca2 SHA512 4d7cf6abc974bc79df54afc42644418e3f086a279c8c17d0fd104f19e3c21c0f3dae4fb4268dd134446ff9fe505159b0446372c5cac71cfe03a97479ed41c09b +DIST nrpe-4.0.3.tar.gz 524160 BLAKE2B d2c99cadf718e7049c911388b105fb4f5248307c733d94a73fd02ac69c49be230dad58be0a182af9c8d7e0d1f34e8dba6b8fc46a7c01eb15d845f2b3a54499ed SHA512 31d932c481c8a53bd0f8865fb3cfeeb1466b9b05fa89382aa056aa9343a09843b51fe5398fd0388e6bba99e9c3d8093f6033799fd83afd43012bfe8fdc5a33e3 +DIST nrpe-4.1.0.tar.gz 528228 BLAKE2B a8890eef9f32e43417270eb80dcb9eedf1272d70d2dad73fecd855565358fbe9cb1d716fe0b79270310c2c5097eba3ffc7f786c89eecae9f6b84d2fbb43d3e0f SHA512 a47935eecc65d646737166f98f5f160e3d1d5bbd245e006e8cd0758af75db083f870db6c02c1edd0d44cf9a91909ba26df8eee1620a7ac4d9f98032f2cce8981 diff --git a/net-analyzer/nrpe/files/nrpe-3.2.1-eliminate-systemd-pid.patch b/net-analyzer/nrpe/files/nrpe-3.2.1-eliminate-systemd-pid.patch new file mode 100644 index 000000000000..6ee520dfa69d --- /dev/null +++ b/net-analyzer/nrpe/files/nrpe-3.2.1-eliminate-systemd-pid.patch @@ -0,0 +1,38 @@ +From c4ad513294e8db25ebaf25127948cce37c13e1b2 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 29 Sep 2018 20:23:53 -0400 +Subject: [PATCH 1/1] startup/default-service.in: remove PIDFile and + ExecStopPost lines. + +The nrpe systemd service is a "simple" service, which means that it +runs in the foreground and doesn't need any PID file tracking to begin +with. The tmpfiles.d entry associated with the PID file is causing +problems in Gentoo bug 648992, and so as a prerequisite for deleting +it, this commit eliminates the PID file. + +Bug: https://bugs.gentoo.org/648992 +Bug: https://github.com/NagiosEnterprises/nrpe/issues/188 +--- + startup/default-service.in | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/startup/default-service.in b/startup/default-service.in +index b6c6063..110a0cd 100644 +--- a/startup/default-service.in ++++ b/startup/default-service.in +@@ -11,12 +11,10 @@ WantedBy=multi-user.target + [Service] + Type=simple + Restart=on-abort +-PIDFile=@piddir@/nrpe.pid + RuntimeDirectory=nrpe + RuntimeDirectoryMode=0755 + ExecStart=@sbindir@/nrpe -c @pkgsysconfdir@/nrpe.cfg -f + ExecReload=/bin/kill -HUP $MAINPID +-ExecStopPost=/bin/rm -f @piddir@/nrpe.pid + TimeoutStopSec=60 + User=@nrpe_user@ + Group=@nrpe_group@ +-- +2.16.4 + diff --git a/net-analyzer/nrpe/files/nrpe-4.0.2-disable-tcpd.patch b/net-analyzer/nrpe/files/nrpe-4.0.2-disable-tcpd.patch new file mode 100644 index 000000000000..7140c43d7e8c --- /dev/null +++ b/net-analyzer/nrpe/files/nrpe-4.0.2-disable-tcpd.patch @@ -0,0 +1,62 @@ +Stripped ./configure portion for Gentoo, instead relying on eautoreconf. + +From 8bce40cff68c0a7d88b465eb345267ad5176461a Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@iewc.co.za> +Date: Mon, 8 Feb 2021 17:07:30 +0200 +Subject: [PATCH] Patch to allow passing --enable-tcpd or --disable-tcpd. + +If passing --enable-tcpd and libwrap is not available, ./configure will +fail. + +If passing --disable-tcpd, libwrap will be completely ignore. + +If not passed, current behaviour still applies. + +Signed-off-by: Jaco Kroon <jaco@iewc.co.za> +--- + configure.ac | 28 +++++++++++++++++++++++----- + 2 files changed, 52 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3981bb0..e3c1a15 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -237,12 +237,30 @@ AC_CHECK_FUNCS([getopt_long],,AC_CHECK_LIB([iberty],[getopt_long],OTHERLIBS="$OT + dnl Checks for library functions. + AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl") + AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket") +-AC_CHECK_LIB(wrap,main,[ +- LIBWRAPLIBS="$LIBWRAPLIBS -lwrap" +- AC_DEFINE(HAVE_LIBWRAP,[1],[Have the TCP wrappers library]) +- AC_TRY_LINK([#include <tcpd.h> +- ],[int a = rfc931_timeout;],AC_DEFINE(HAVE_RFC931_TIMEOUT)) ++ ++AC_ARG_ENABLE([tcpd], ++ AS_HELP_STRING([--disable-tcpd],[disables support for tcpd even if present]),[ ++ if test x$enableval = xyes; then ++ check_for_tcpd=yes ++ else ++ check_for_tcpd=no ++ fi ++ ],check_for_tcpd=optional) ++ ++AC_MSG_CHECKING(check_for_tcpd=$check_for_tcpd) ++if test x$check_for_tcpd != xno; then ++ AC_CHECK_LIB(wrap,main,[ ++ LIBWRAPLIBS="$LIBWRAPLIBS -lwrap" ++ AC_DEFINE(HAVE_LIBWRAP,[1],[Have the TCP wrappers library]) ++ AC_TRY_LINK([#include <tcpd.h> ++ ],[int a = rfc931_timeout;],AC_DEFINE(HAVE_RFC931_TIMEOUT)) ++ ],[ ++ if test x$check_for_tcpd = xyes; then ++ AC_MSG_ERROR(--enable-tcpd specified but unable to locate libwrap.) ++ fi + ]) ++fi ++ + AC_CHECK_FUNCS(strdup strstr strtoul strtok_r initgroups closesocket sigaction scandir) + + dnl socklen_t check - from curl +-- +2.26.2 + diff --git a/net-analyzer/nrpe/files/nrpe.xinetd.2 b/net-analyzer/nrpe/files/nrpe.xinetd.2 new file mode 100644 index 000000000000..dd0331a88149 --- /dev/null +++ b/net-analyzer/nrpe/files/nrpe.xinetd.2 @@ -0,0 +1,11 @@ +service nrpe { + socket_type = stream + protocol = tcp + wait = no + user = nagios + group = nagios + server = /usr/libexec/nrpe + server_args = -c /etc/nagios/nrpe.cfg --inetd +# only_from = 127.0.0.1 + disabled = yes +} diff --git a/net-analyzer/nrpe/metadata.xml b/net-analyzer/nrpe/metadata.xml new file mode 100644 index 000000000000..0bb15e0c4845 --- /dev/null +++ b/net-analyzer/nrpe/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <longdescription> + A daemon for allowing Nagios to connect directly to servers and + execute commands defined in a centralized configuration file. + </longdescription> + <use> + <flag name="command-args"> + Build support for specifying the command-line arguments from the + Nagios/Icinga master. Make sure you understand the implications + of this flag as it can be a security risk. + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nrpe/nrpe-4.0.0.ebuild b/net-analyzer/nrpe/nrpe-4.0.0.ebuild new file mode 100644 index 000000000000..bdab2a7c20e3 --- /dev/null +++ b/net-analyzer/nrpe/nrpe-4.0.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit systemd + +DESCRIPTION="Nagios Remote Plugin Executor" +HOMEPAGE="https://github.com/NagiosEnterprises/nrpe" +SRC_URI="https://github.com/NagiosEnterprises/nrpe/releases/download/${P}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~sparc x86" +IUSE="command-args selinux ssl" + +DEPEND="acct-group/nagios + acct-user/nagios + sys-apps/tcp-wrappers + ssl? ( dev-libs/openssl:0= )" +RDEPEND="${DEPEND} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins ) + selinux? ( sec-policy/selinux-nagios )" + +PATCHES=( "${FILESDIR}/nrpe-3.2.1-eliminate-systemd-pid.patch" ) + +src_configure() { + # The configure script tries to detect what OS, distribution, and + # init system you're running and changes the build/install process + # depending on what it comes up with. We specify fixed values + # because we don't want it guessing, for example, whether or not + # to install the tmpfiles.d entry based on whether or not systemd + # is currently running (OpenRC uses them too). + # + # Note: upstream defaults to using "nagios" as the default NRPE + # user and group. I have a feeling that this isn't quite correct + # on a system where "nagios" is also the user running the nagios + # server daemon. In the future, it would be nice if someone who + # actually uses NRPE could test with an unprivileged "nrpe" as + # the user and group. + econf \ + --libexecdir=/usr/$(get_libdir)/nagios/plugins \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-nrpe-user=nagios \ + --with-nrpe-group=nagios \ + --with-piddir=/run \ + --with-opsys=unknown \ + --with-dist-type=unknown \ + --with-init-type=unknown \ + --with-inetd-type=unknown \ + $(use_enable command-args) \ + $(use_enable ssl) +} + +src_compile() { + emake all +} + +src_install() { + default + + dodoc CHANGELOG.md SECURITY.md + insinto /etc/nagios + newins sample-config/nrpe.cfg nrpe.cfg + fowners root:nagios /etc/nagios/nrpe.cfg + fperms 0640 /etc/nagios/nrpe.cfg + + newinitd "startup/openrc-init" nrpe + newconfd "startup/openrc-conf" nrpe + systemd_newunit "startup/default-service" "${PN}.service" + + insinto /etc/xinetd.d/ + newins "${FILESDIR}/nrpe.xinetd.2" nrpe + + rm "${D}/usr/bin/nrpe-uninstall" || die 'failed to remove uninstall tool' +} + +pkg_postinst() { + elog 'Some users have reported incompatibilities between nrpe-2.x and' + elog 'nrpe-3.x. We recommend that you use the same major version for' + elog 'both your server and clients.' + + if use command-args ; then + ewarn '' + ewarn 'You have enabled command-args for NRPE. That lets clients' + ewarn 'supply arguments to the commands that are run, and IS A' + ewarn 'SECURITY RISK!' + ewarn'' + fi +} diff --git a/net-analyzer/nrpe/nrpe-4.0.2.ebuild b/net-analyzer/nrpe/nrpe-4.0.2.ebuild new file mode 100644 index 000000000000..750ad02c972e --- /dev/null +++ b/net-analyzer/nrpe/nrpe-4.0.2.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit systemd + +DESCRIPTION="Nagios Remote Plugin Executor" +HOMEPAGE="https://github.com/NagiosEnterprises/nrpe" +SRC_URI="https://github.com/NagiosEnterprises/nrpe/releases/download/${P}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="command-args selinux ssl" + +DEPEND="acct-group/nagios + acct-user/nagios + sys-apps/tcp-wrappers + ssl? ( dev-libs/openssl:0= )" +RDEPEND="${DEPEND} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins ) + selinux? ( sec-policy/selinux-nagios )" + +PATCHES=( "${FILESDIR}/nrpe-3.2.1-eliminate-systemd-pid.patch" ) + +src_configure() { + # The configure script tries to detect what OS, distribution, and + # init system you're running and changes the build/install process + # depending on what it comes up with. We specify fixed values + # because we don't want it guessing, for example, whether or not + # to install the tmpfiles.d entry based on whether or not systemd + # is currently running (OpenRC uses them too). + # + # Note: upstream defaults to using "nagios" as the default NRPE + # user and group. I have a feeling that this isn't quite correct + # on a system where "nagios" is also the user running the nagios + # server daemon. In the future, it would be nice if someone who + # actually uses NRPE could test with an unprivileged "nrpe" as + # the user and group. + econf \ + --libexecdir=/usr/$(get_libdir)/nagios/plugins \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-nrpe-user=nagios \ + --with-nrpe-group=nagios \ + --with-piddir=/run \ + --with-opsys=unknown \ + --with-dist-type=unknown \ + --with-init-type=unknown \ + --with-inetd-type=unknown \ + $(use_enable command-args) \ + $(use_enable ssl) +} + +src_compile() { + emake all +} + +src_install() { + default + + dodoc CHANGELOG.md SECURITY.md + insinto /etc/nagios + newins sample-config/nrpe.cfg nrpe.cfg + fowners root:nagios /etc/nagios/nrpe.cfg + fperms 0640 /etc/nagios/nrpe.cfg + + newinitd "startup/openrc-init" nrpe + newconfd "startup/openrc-conf" nrpe + systemd_newunit "startup/default-service" "${PN}.service" + + insinto /etc/xinetd.d/ + newins "${FILESDIR}/nrpe.xinetd.2" nrpe + + rm "${ED}/usr/bin/nrpe-uninstall" || die 'failed to remove uninstall tool' + rm -r "${ED}/run" || die 'failed to remove /run' +} + +pkg_postinst() { + elog 'Some users have reported incompatibilities between nrpe-2.x and' + elog 'nrpe-3.x. We recommend that you use the same major version for' + elog 'both your server and clients.' + + if use command-args ; then + ewarn '' + ewarn 'You have enabled command-args for NRPE. That lets clients' + ewarn 'supply arguments to the commands that are run, and IS A' + ewarn 'SECURITY RISK!' + ewarn'' + fi +} diff --git a/net-analyzer/nrpe/nrpe-4.0.3.ebuild b/net-analyzer/nrpe/nrpe-4.0.3.ebuild new file mode 100644 index 000000000000..fa2413afaff7 --- /dev/null +++ b/net-analyzer/nrpe/nrpe-4.0.3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools systemd + +DESCRIPTION="Nagios Remote Plugin Executor" +HOMEPAGE="https://github.com/NagiosEnterprises/nrpe" +SRC_URI="https://github.com/NagiosEnterprises/nrpe/releases/download/${P}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~sparc x86" +IUSE="command-args selinux ssl tcpd" + +DEPEND="acct-group/nagios + acct-user/nagios + tcpd? ( + sys-apps/tcp-wrappers + ) + ssl? ( + dev-libs/openssl:= + )" +RDEPEND="${DEPEND} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins ) + selinux? ( sec-policy/selinux-nagios )" + +PATCHES=( + "${FILESDIR}/nrpe-3.2.1-eliminate-systemd-pid.patch" + "${FILESDIR}/nrpe-4.0.2-disable-tcpd.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # The configure script tries to detect what OS, distribution, and + # init system you're running and changes the build/install process + # depending on what it comes up with. We specify fixed values + # because we don't want it guessing, for example, whether or not + # to install the tmpfiles.d entry based on whether or not systemd + # is currently running (OpenRC uses them too). + # + # Note: upstream defaults to using "nagios" as the default NRPE + # user and group. I have a feeling that this isn't quite correct + # on a system where "nagios" is also the user running the nagios + # server daemon. In the future, it would be nice if someone who + # actually uses NRPE could test with an unprivileged "nrpe" as + # the user and group. + econf \ + --libexecdir=/usr/$(get_libdir)/nagios/plugins \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-nrpe-user=nagios \ + --with-nrpe-group=nagios \ + --with-piddir=/run \ + --with-opsys=unknown \ + --with-dist-type=unknown \ + --with-init-type=unknown \ + --with-inetd-type=unknown \ + $(use_enable command-args) \ + $(use_enable ssl) \ + $(use_enable tcpd) +} + +src_compile() { + emake all +} + +src_install() { + default + + dodoc CHANGELOG.md SECURITY.md + insinto /etc/nagios + newins sample-config/nrpe.cfg nrpe.cfg + fowners root:nagios /etc/nagios/nrpe.cfg + fperms 0640 /etc/nagios/nrpe.cfg + + newinitd "startup/openrc-init" nrpe + newconfd "startup/openrc-conf" nrpe + systemd_newunit "startup/default-service" "${PN}.service" + + insinto /etc/xinetd.d/ + newins "${FILESDIR}/nrpe.xinetd.2" nrpe + + rm "${ED}/usr/bin/nrpe-uninstall" || die 'failed to remove uninstall tool' + rm -r "${ED}/run" || die 'failed to remove /run' +} + +pkg_postinst() { + if use command-args ; then + ewarn '' + ewarn 'You have enabled command-args for NRPE. That lets clients' + ewarn 'supply arguments to the commands that are run, and IS A' + ewarn 'SECURITY RISK!' + ewarn '' + fi +} diff --git a/net-analyzer/nrpe/nrpe-4.1.0.ebuild b/net-analyzer/nrpe/nrpe-4.1.0.ebuild new file mode 100644 index 000000000000..31df239ba145 --- /dev/null +++ b/net-analyzer/nrpe/nrpe-4.1.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +DESCRIPTION="Nagios Remote Plugin Executor" +HOMEPAGE="https://github.com/NagiosEnterprises/nrpe" +SRC_URI="https://github.com/NagiosEnterprises/nrpe/releases/download/${P}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~sparc x86" +IUSE="command-args selinux ssl tcpd" + +DEPEND="acct-group/nagios + acct-user/nagios + tcpd? ( + sys-apps/tcp-wrappers + ) + ssl? ( + dev-libs/openssl:= + )" +RDEPEND="${DEPEND} + || ( net-analyzer/nagios-plugins net-analyzer/monitoring-plugins ) + selinux? ( sec-policy/selinux-nagios )" + +PATCHES=( + "${FILESDIR}/nrpe-3.2.1-eliminate-systemd-pid.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # The configure script tries to detect what OS, distribution, and + # init system you're running and changes the build/install process + # depending on what it comes up with. We specify fixed values + # because we don't want it guessing, for example, whether or not + # to install the tmpfiles.d entry based on whether or not systemd + # is currently running (OpenRC uses them too). + # + # Note: upstream defaults to using "nagios" as the default NRPE + # user and group. I have a feeling that this isn't quite correct + # on a system where "nagios" is also the user running the nagios + # server daemon. In the future, it would be nice if someone who + # actually uses NRPE could test with an unprivileged "nrpe" as + # the user and group. + econf \ + --libexecdir=/usr/$(get_libdir)/nagios/plugins \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-nrpe-user=nagios \ + --with-nrpe-group=nagios \ + --with-piddir=/run \ + --with-opsys=unknown \ + --with-dist-type=unknown \ + --with-init-type=unknown \ + --with-inetd-type=unknown \ + $(use_enable command-args) \ + $(use_enable ssl) \ + $(use_enable tcpd) +} + +src_compile() { + emake all +} + +src_install() { + default + + dodoc CHANGELOG.md SECURITY.md + insinto /etc/nagios + newins sample-config/nrpe.cfg nrpe.cfg + fowners root:nagios /etc/nagios/nrpe.cfg + fperms 0640 /etc/nagios/nrpe.cfg + + newinitd "startup/openrc-init" nrpe + newconfd "startup/openrc-conf" nrpe + systemd_newunit "startup/default-service" "${PN}.service" + + insinto /etc/xinetd.d/ + newins "${FILESDIR}/nrpe.xinetd.2" nrpe + + rm "${ED}/usr/bin/nrpe-uninstall" || die 'failed to remove uninstall tool' + rm -r "${ED}/run" || die 'failed to remove /run' +} + +pkg_postinst() { + if use command-args ; then + ewarn '' + ewarn 'You have enabled command-args for NRPE. That lets clients' + ewarn 'supply arguments to the commands that are run, and IS A' + ewarn 'SECURITY RISK!' + ewarn '' + fi +} diff --git a/net-analyzer/nsat/Manifest b/net-analyzer/nsat/Manifest new file mode 100644 index 000000000000..2cced7871b22 --- /dev/null +++ b/net-analyzer/nsat/Manifest @@ -0,0 +1 @@ +DIST nsat-1.5.tgz 410603 BLAKE2B 083ac2879afae87d1282bb643d0988b2f858f9c934fe7a6e24407c0f5cf90ceba7be17aeeae8e7cb9d0f7a31cce171fed6382351ea8413b13d3e4343339f0c9c SHA512 1a5b8e88f7bcacdbe1144a719a2e446c0ea025ad4e5f8c79ccb939083308cd2c1b2c1f3d7ab3b791924d5855994cbc3fded95aa36df23c12fd76fc20341a87d0 diff --git a/net-analyzer/nsat/files/nsat-1.5-amd64-compat.patch b/net-analyzer/nsat/files/nsat-1.5-amd64-compat.patch new file mode 100644 index 000000000000..883ad26cdfaf --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-amd64-compat.patch @@ -0,0 +1,33 @@ +--- a/src/mod/xp_icmp_echo.c ++++ b/src/mod/xp_icmp_echo.c +@@ -90,7 +90,7 @@ + fprintf(stderr,"[%d bytes] sent, waiting for reponse.\n", res); + #endif + +- recv_pack = read_icmp(&res, ICMP_ECHOREPLY, -1); ++ recv_pack = read_icmp((ssize_t *)&res, ICMP_ECHOREPLY, -1); + + if (recv_pack == NULL || (unsigned)res < sizeof(ip) + 8) { + #ifdef EBUG +--- a/src/mod/xp_icmp_infr.c ++++ b/src/mod/xp_icmp_infr.c +@@ -83,7 +83,7 @@ + fprintf(stderr,"[%d bytes] sent, waiting for reponse.\n", res); + #endif + +- recv_pack = read_icmp(&res, ICMP_IREQREPLY, -1); ++ recv_pack = read_icmp((ssize_t *)&res, ICMP_IREQREPLY, -1); + + if (recv_pack == NULL || (unsigned)res < sizeof(ip) + 8) { + #ifdef EBUG +--- a/src/mod/xp_udp_probe.c ++++ b/src/mod/xp_udp_probe.c +@@ -92,7 +92,7 @@ + #ifdef EBUG + fprintf(stderr,"[%d bytes] sent, waiting for reponse.\n", res); + #endif +- recv_pack = read_icmp(&res, ICMP_UNREACH, -1); ++ recv_pack = read_icmp((ssize_t *)&res, ICMP_UNREACH, -1); + + if (recv_pack == NULL || (unsigned)res < sizeof(ip) + 8) { + #ifdef EBUG diff --git a/net-analyzer/nsat/files/nsat-1.5-configure-dash.patch b/net-analyzer/nsat/files/nsat-1.5-configure-dash.patch new file mode 100644 index 000000000000..af19ba293ddb --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-configure-dash.patch @@ -0,0 +1,79 @@ +From eda78d802b11dd7c920cd8e0396ca064f34e2a8b Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Thu, 5 Aug 2021 00:27:23 +0100 +Subject: [PATCH] Fix configure with non-bash (dash) + +--- + configure.in | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.in b/configure.in +index 95c59da..b549092 100644 +--- a/configure.in ++++ b/configure.in +@@ -10,7 +10,7 @@ AC_CONFIG_HEADER(src/libmix++/mix/lmconfig.h) + + AC_PROG_CC + AC_MSG_CHECKING(accepted compiler flags) +-if test $ac_cv_prog_gcc = yes; then ++if test x$ac_cv_prog_gcc = xyes; then + AC_MSG_RESULT(GNU CC/ANSI (good)) + else + AC_MSG_RESULT(crappy :P) +@@ -41,7 +41,7 @@ case "`${UNAME}`" in + AC_MSG_RESULT(found Linux. Ph33r.) + AC_DEFINE(HAVE_LINUX) + AC_DEFINE(MY_HDRINCL,3) +-if test $LEETCC = yes; then ++if test x$LEETCC = xyes; then + CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DLINUX' + else + CCOPTS="${CFLAGS} -DLINUX" +@@ -54,7 +54,7 @@ fi + AC_MSG_RESULT(found MAC OS X) + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) +-if test $LEETCC = yes; then ++if test x$LEETCC = xyes; then + CCOPTS='-Wall -O -funroll-loops -ansi -fPIC -DBSD44 -DDARWIN' + else + CCOPTS='-DBSD44 -DOBSD' +@@ -67,7 +67,7 @@ fi + AC_MSG_RESULT(found OpenBSD. Yay.) + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) +-if test $LEETCC = yes; then ++if test x$LEETCC = xyes; then + CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DBSD44 -DOBSD' + else + CCOPTS='-DBSD44 -DOBSD' +@@ -80,7 +80,7 @@ fi + AC_MSG_RESULT(found BSD. Yay.) + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) +-if test $LEETCC = yes; then ++if test x$LEETCC = xyes; then + CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DBSD44' + else + CCOPTS='-DBSD44' +@@ -95,7 +95,7 @@ fi + AC_DEFINE(MY_HDRINCL,2) + AC_CHECK_LIB(socket, socket, [ CLIB="$CLIB -lsocket " ], AC_MSG_ERROR(libsocket not found.)) + AC_CHECK_LIB(nsl, gethostbyname, [ CLIB="$CLIB -lnsl " ], AC_MSG_ERROR(libnsl not found.)) +-if test $LEETCC = yes; then ++if test x$LEETCC = xyes; then + CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DSOLARIS' + else + CCOPTS='-DSOLARIS' +@@ -169,7 +169,7 @@ AC_HEADER_STDC + AC_CHECK_HEADERS(fcntl.h unistd.h sys/select.h sys/time.h sys/types.h sys/socket.h stdarg.h std_args.h strings.h netdb.h netinet/in.h arpa/inet.h signal.h stdlib.h errno.h ctype.h sys/file.h sys/ioctl.h sys/signal.h sys/stream.h sys/dlpi.h sys/bufmod.h sys/stropts.h sys/param.h sys/termios.h sys/filio.h net/if.h netinet/in_systm.h netinet/ip.h netinet/ip_var.h netinet/ip_icmp.h sys/resource.h X11/Xlib.h) + + AC_C_BIGENDIAN +- if test $ac_cv_c_bigendian = yes; then ++ if test x$ac_cv_c_bigendian = xyes; then + ENDIANESS1="#ifndef WORDS_BIGENDIAN" + ENDIANESS2="#define WORDS_BIGENDIAN /* this is a big endian machine */" + else +-- +2.32.0 + diff --git a/net-analyzer/nsat/files/nsat-1.5-configure.patch b/net-analyzer/nsat/files/nsat-1.5-configure.patch new file mode 100644 index 000000000000..d1bc1f95e6bb --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-configure.patch @@ -0,0 +1,25 @@ +--- a/configure.in ++++ b/configure.in +@@ -15,7 +15,6 @@ + else + AC_MSG_RESULT(crappy :P) + fi +- LEETCC=$ac_cv_prog_gcc; + AC_PROG_CXX + AC_PROG_INSTALL + AC_PROG_MAKE_SET +@@ -45,11 +44,11 @@ + if test $LEETCC = yes; then + CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DLINUX' + else +- CCOPTS='-DLINUX' ++ CCOPTS="${CFLAGS} -DLINUX" + fi +- CFLAGS="$CCOPTS" +- SMBCFLAGS="-Wall -DLINUX -DNETGROUP -DALLOW_CHANGE_PASSWORD -DFAST_SHARE_MODES -DNO_ASMSIGNALH -DGLIBC2" ++ SMBCFLAGS="${CCOPTS} -Wall -DLINUX -DNETGROUP -DALLOW_CHANGE_PASSWORD -DFAST_SHARE_MODES -DNO_ASMSIGNALH -DGLIBC2" + SMBLFLAGS="-lnsl -lcrypt" ++ CFLAGS="${CCOPTS} -Wall -ansi -fPIC -DLINUX" + ;; + *Darwin* | *Mac* | *MAC*) + AC_MSG_RESULT(found MAC OS X) diff --git a/net-analyzer/nsat/files/nsat-1.5-libtirpc.patch b/net-analyzer/nsat/files/nsat-1.5-libtirpc.patch new file mode 100644 index 000000000000..c91afd3a78fa --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-libtirpc.patch @@ -0,0 +1,33 @@ +--- a/configure.in ++++ b/configure.in +@@ -195,6 +195,8 @@ + AC_FUNC_VPRINTF + AC_CHECK_FUNCS(select socket strdup strstr random srandom snprintf setsockopt initstate gettimeofday strerror) + ++PKG_CHECK_MODULES([TIRPC], [libtirpc], [], [AC_MSG_NOTICE([Using glibc rpc support])]) ++ + AC_OUTPUT(Makefile tools/Makefile src/Makefile src/mod/Makefile src/smb/Makefile src/libmix++/Makefile src/libmix++/mix/net.h) + + AC_MSG_RESULT() +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -36,7 +36,7 @@ + @cd mod ; $(MAKE) modobj + + ../nsat: modobj +- ${GPP} ${CFLAGS} ${LDFLAGS} ${OBJ} ${MODOBJ} ${MIXOBJ} -o ../nsat ${CLIB} ++ ${GPP} ${CFLAGS} ${LDFLAGS} ${OBJ} ${MODOBJ} ${MIXOBJ} -o ../nsat ${CLIB} @TIRPC_LIBS@ + + pidalloc.o: + ${GPP} ${CFLAGS} -c pidalloc.cpp +--- a/src/mod/Makefile.in ++++ b/src/mod/Makefile.in +@@ -35,7 +35,7 @@ + ${GPP} ${CFLAGS} -c osscan.cpp + + rpc.o: +- ${GPP} ${CFLAGS} -c rpc.cpp ++ ${GPP} ${CFLAGS} @TIRPC_CFLAGS@ -c rpc.cpp + + www.o: + ${GPP} ${CFLAGS} -c www.cpp diff --git a/net-analyzer/nsat/files/nsat-1.5-lvalue-gcc4.patch b/net-analyzer/nsat/files/nsat-1.5-lvalue-gcc4.patch new file mode 100644 index 000000000000..b4020b3f47ed --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-lvalue-gcc4.patch @@ -0,0 +1,11 @@ +--- a/src/smb/ADMsmb.c ++++ b/src/smb/ADMsmb.c +@@ -123,7 +123,7 @@ + { + usleep (100000); + +- if (recvfrom (socket_client, buffer2, sizeof (buffer2), 0, (struct sockaddr *) &sin_dst, &(int) longueur) != -1) ++ if (recvfrom (socket_client, buffer2, sizeof (buffer2), 0, (struct sockaddr *) &sin_dst, (int *) &longueur) != -1) + { + + if (nmb2->rep_num != 0) diff --git a/net-analyzer/nsat/files/nsat-1.5-misc.patch b/net-analyzer/nsat/files/nsat-1.5-misc.patch new file mode 100644 index 000000000000..f94fd24527b5 --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-misc.patch @@ -0,0 +1,108 @@ +* link against dev-libs/libmix +* parallel $(MAKE) +* usr/local/ -> usr/ +* LDFLAGS +* verbose CC + +--- a/Makefile.in ++++ b/Makefile.in +@@ -7,14 +7,14 @@ + # # #### # # # + + # Change me if you want... +-INSTALL_PATH=/usr/local/bin +-MAN_PATH=/usr/local/man ++INSTALL_PATH=/usr/bin ++MAN_PATH=/usr/man + + # If you change this, change src/lang.h as well +-DATA_PATH=/usr/local/share/nsat ++DATA_PATH=/usr/share/nsat + + all: +- @cd src;make all ++ @cd src; $(MAKE) all + @echo "" + @echo " Compiling is done!" + @echo " You can now 'make install' to put the files in place." +@@ -58,5 +58,5 @@ + doc/nsat.8: + @echo "Hmm, can't find manpage -- skipping :/" + +-nsat: +- @make all ++nsat: src ++ $(MAKE) all +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -21,22 +21,22 @@ + + MIXOBJ = libmix++/net/net.o libmix++/misc/misc.o libmix++/misc/exclude.o + +-all: ../smb-ns $(OBJ) modobj mixobj ../nsat ++all: ../smb-ns $(OBJ) modobj ../nsat + + ../smb-ns: +- @cd smb ; make smb ++ @cd smb ; $(MAKE) smb + +-mixobj: libmix++/Makefile +- @cd libmix++ ; make ++#mixobj: libmix++/Makefile ++# @cd libmix++ ; $(MAKE) + +-libmix++/Makefile: +- @cd .. ; ./configure ++#libmix++/Makefile: ++# @cd .. ; ./configure + + modobj: +- @cd mod ; make modobj ++ @cd mod ; $(MAKE) modobj + +-../nsat: +- ${GPP} ${CFLAGS} ${OBJ} ${MODOBJ} ${MIXOBJ} -o ../nsat ${CLIB} ++../nsat: modobj ++ ${GPP} ${CFLAGS} ${LDFLAGS} ${OBJ} ${MODOBJ} ${MIXOBJ} -o ../nsat ${CLIB} + + pidalloc.o: + ${GPP} ${CFLAGS} -c pidalloc.cpp +@@ -63,11 +63,11 @@ + ${GPP} ${CFLAGS} -c Logging.cpp + + clean: +- cd mod && make clean ++ cd mod && $(MAKE) clean + rm -f core *.o ../*.log *.log *~ ../nsat ../.nsrc ../.nspid + + distclean: clean +- @cd mod ; make clean +- @cd smb ; make clean +- @cd libmix++ ; make clean ++ @cd mod ; $(MAKE) clean ++ @cd smb ; $(MAKE) clean ++ @cd libmix++ ; $(MAKE) clean + rm -f mod/Makefile Makefile +--- a/src/smb/Makefile.in ++++ b/src/smb/Makefile.in +@@ -11,7 +11,6 @@ + LIBDIR = $(BASEDIR)/lib + VARDIR = $(BASEDIR)/var + INSTALLPERMS = 0755 +-FLAGS1 = -O3 + LIBS1 = + SHELL = /bin/sh + srcdir = ./ +@@ -53,10 +52,10 @@ + .SUFFIXES: .c .o .h + + .c.o: $(INCLUDES) +- @$(CC) $(CFLAGS) -c $(srcdir)$*.c -o $(srcdir)$*.o ++ $(CC) $(CFLAGS) $(LDFLAGS) -c $(srcdir)$*.c -o $(srcdir)$*.o + + smb: msg $(CLIENT_OBJ) $(ARCFOUR_OBJ) +- @$(CC) $(CFLAGS) -o $(BINARY) $(CLIENT_OBJ) $(ARCFOUR_OBJ) $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(BINARY) $(CLIENT_OBJ) $(ARCFOUR_OBJ) $(LIBS) + @echo done + + msg: diff --git a/net-analyzer/nsat/files/nsat-1.5-no-ansi.patch b/net-analyzer/nsat/files/nsat-1.5-no-ansi.patch new file mode 100644 index 000000000000..80e96ea7a8f2 --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-no-ansi.patch @@ -0,0 +1,53 @@ +--- a/configure.in ++++ b/configure.in +@@ -42,20 +42,20 @@ case "`${UNAME}`" in + AC_DEFINE(HAVE_LINUX) + AC_DEFINE(MY_HDRINCL,3) + if test x$LEETCC = xyes; then +- CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DLINUX' ++ CCOPTS='-Wall -O6 -funroll-loops -fPIC -DLINUX' + else + CCOPTS="${CFLAGS} -DLINUX" + fi + SMBCFLAGS="${CCOPTS} -Wall -DLINUX -DNETGROUP -DALLOW_CHANGE_PASSWORD -DFAST_SHARE_MODES -DNO_ASMSIGNALH -DGLIBC2" + SMBLFLAGS="-lnsl -lcrypt" +- CFLAGS="${CCOPTS} -Wall -ansi -fPIC -DLINUX" ++ CFLAGS="${CCOPTS} -Wall -fPIC -DLINUX" + ;; + *Darwin* | *Mac* | *MAC*) + AC_MSG_RESULT(found MAC OS X) + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) + if test x$LEETCC = xyes; then +- CCOPTS='-Wall -O -funroll-loops -ansi -fPIC -DBSD44 -DDARWIN' ++ CCOPTS='-Wall -O -funroll-loops -fPIC -DBSD44 -DDARWIN' + else + CCOPTS='-DBSD44 -DOBSD' + fi +@@ -68,7 +68,7 @@ fi + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) + if test x$LEETCC = xyes; then +- CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DBSD44 -DOBSD' ++ CCOPTS='-Wall -O6 -funroll-loops -fPIC -DBSD44 -DOBSD' + else + CCOPTS='-DBSD44 -DOBSD' + fi +@@ -81,7 +81,7 @@ fi + AC_DEFINE(HAVE_BSD) + AC_DEFINE(MY_HDRINCL,2) + if test x$LEETCC = xyes; then +- CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DBSD44' ++ CCOPTS='-Wall -O6 -funroll-loops -fPIC -DBSD44' + else + CCOPTS='-DBSD44' + fi +@@ -96,7 +96,7 @@ fi + AC_CHECK_LIB(socket, socket, [ CLIB="$CLIB -lsocket " ], AC_MSG_ERROR(libsocket not found.)) + AC_CHECK_LIB(nsl, gethostbyname, [ CLIB="$CLIB -lnsl " ], AC_MSG_ERROR(libnsl not found.)) + if test x$LEETCC = xyes; then +- CCOPTS='-Wall -O6 -funroll-loops -ansi -fPIC -DSOLARIS' ++ CCOPTS='-Wall -O6 -funroll-loops -fPIC -DSOLARIS' + else + CCOPTS='-DSOLARIS' + fi diff --git a/net-analyzer/nsat/files/nsat-1.5-strip.patch b/net-analyzer/nsat/files/nsat-1.5-strip.patch new file mode 100644 index 000000000000..99fe77633ad8 --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-strip.patch @@ -0,0 +1,10 @@ +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -37,7 +37,6 @@ + + ../nsat: + ${GPP} ${CFLAGS} ${OBJ} ${MODOBJ} ${MIXOBJ} -o ../nsat ${CLIB} +- strip ../nsat + + pidalloc.o: + ${GPP} ${CFLAGS} -c pidalloc.cpp diff --git a/net-analyzer/nsat/files/nsat-1.5-va_list.patch b/net-analyzer/nsat/files/nsat-1.5-va_list.patch new file mode 100644 index 000000000000..46bdd3bcc121 --- /dev/null +++ b/net-analyzer/nsat/files/nsat-1.5-va_list.patch @@ -0,0 +1,27 @@ +--- a/src/Logging.cpp ++++ b/src/Logging.cpp +@@ -89,16 +89,17 @@ + if((pi.Foreground) && (out!=NULL)) + fprintf(stdout, "%s %s ", out, hn); + +- va_start(va, fmt); +- +- if(fp!=NULL) ++ if(fp!=NULL) { ++ va_start(va, fmt); + vfprintf(fp, fmt, va); ++ va_end(va); ++ } + +- if((pi.Foreground) && (out!=NULL)) ++ if((pi.Foreground) && (out!=NULL)) { ++ va_start(va, fmt); + vfprintf(stdout, fmt, va); +- +- va_end(va); +- ++ va_end(va); ++ } + if(fp!=NULL) + fprintf(fp, "\n"); + diff --git a/net-analyzer/nsat/metadata.xml b/net-analyzer/nsat/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/nsat/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nsat/nsat-1.5-r7.ebuild b/net-analyzer/nsat/nsat-1.5-r7.ebuild new file mode 100644 index 000000000000..e24b1507e0a3 --- /dev/null +++ b/net-analyzer/nsat/nsat-1.5-r7.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Network Security Analysis Tool, an application-level network security scanner" +HOMEPAGE="https://nsat.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/nsat/${P}.tgz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="gui" + +RDEPEND=" + dev-libs/libmix + net-libs/libnsl:0= + net-libs/libpcap + net-libs/libtirpc:= + net-libs/rpcsvc-proto + gui? ( + dev-lang/tk:* + x11-libs/libX11 + ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-configure.patch + "${FILESDIR}"/${P}-lvalue-gcc4.patch + "${FILESDIR}"/${P}-strip.patch + "${FILESDIR}"/${P}-misc.patch + "${FILESDIR}"/${P}-va_list.patch + "${FILESDIR}"/${P}-libtirpc.patch + "${FILESDIR}"/${P}-amd64-compat.patch + "${FILESDIR}"/${P}-configure-dash.patch + "${FILESDIR}"/${P}-no-ansi.patch +) + +src_prepare() { + default + + sed -i \ + -e "s:^#CGIFile /usr/local/share/nsat/nsat.cgi$:#CGIFile /usr/share/nsat/nsat.cgi:g" \ + nsat.conf || die + sed -i -e "s:/usr/local:/usr:g" tools/xnsat || die + sed -i \ + -e "s:/usr/local/share/nsat/nsat.conf:/etc/nsat/nsat.conf:g" \ + -e "s:/usr/local/share/nsat/nsat.cgi:/usr/share/nsat/nsat.cgi:g" \ + src/lang.h || die + + mv configure.{in,ac} || die + + eautoreconf +} + +src_configure() { + tc-export CC + econf $(use_with gui x) +} + +src_compile() { + emake MIXOBJ=-lmix++ +} + +src_install() { + dobin nsat smb-ns + use gui && dobin tools/xnsat + + insinto /usr/share/nsat + doins nsat.cgi + + insinto /etc/nsat + doins nsat.conf + + dodoc README doc/CHANGES + doman doc/nsat.8 +} diff --git a/net-analyzer/nsca/Manifest b/net-analyzer/nsca/Manifest new file mode 100644 index 000000000000..c588efc6e071 --- /dev/null +++ b/net-analyzer/nsca/Manifest @@ -0,0 +1 @@ +DIST nsca-2.7.2.tar.gz 104953 BLAKE2B 74dce7b59149cd41fe316dc48588d744131efbbe8073d0defe3542a774ac7dd7429a23e5e7f6b2c9b9e45fa1938cdb2994bfcf93e745c12c8fb5bfbbeb627e6e SHA512 f84cac3613bbd0ded4ec700c1dadac71ed075544d0f48281a70946a67792b7f4bcdf6dc3bd5ccf1293cc6a0277638e0f034c33064bf9c05696b4f015e7f15010 diff --git a/net-analyzer/nsca/files/nsca.conf b/net-analyzer/nsca/files/nsca.conf new file mode 100644 index 000000000000..987cd10ebf58 --- /dev/null +++ b/net-analyzer/nsca/files/nsca.conf @@ -0,0 +1,5 @@ +# Choose the configuration file to use; the pre-defined configurations +# for Nagios and Icinga are available in their respective directories: +# /etc/nagios/nsca.cfg +# /etc/icinga/nsca.cfg +CFGFILE=/etc/nagios/nsca.cfg diff --git a/net-analyzer/nsca/files/nsca.init b/net-analyzer/nsca/files/nsca.init new file mode 100644 index 000000000000..cd47bb64e95c --- /dev/null +++ b/net-analyzer/nsca/files/nsca.init @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +: ${CFGFILE:=/etc/nagios/nsca.cfg} + +get_config() { + [ -f ${CFGFILE} ] || return 1 + + sed -n -e 's:^[ \t]*'$1'=\([^#]\+\).*:\1:p' \ + ${CFGFILE} +} + +extra_started_commands="reload" + +command=/usr/libexec/${SVCNAME} +command_args="-c ${CFGFILE} --daemon" +pidfile=$(get_config pid_file) + +depend() { + config ${CFGFILE} + + case $(get_config nsca_user) in + icinga) need icinga ;; + nagios) need nagios ;; + esac +} + +reload() { + ebegin "Reloading ${SVCNAME}" + kill -HUP `cat $(get_config pid_file)` + eend $? +} diff --git a/net-analyzer/nsca/metadata.xml b/net-analyzer/nsca/metadata.xml new file mode 100644 index 000000000000..327a42e0be6b --- /dev/null +++ b/net-analyzer/nsca/metadata.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <longdescription lang="en"> + This program is designed to accept passive service check results + from clients that use the send_nsca utility (which is included in + this package) and pass them along to the Nagios process by using + the external command interface. The program can either be run as a + standalone daemon or as a service under inetd. If you have + libmcrypt installed on your systems, you can choose from multiple + crypto algorithms (DES, 3DES, CAST, xTEA, Twofish, LOKI97, + RJINDAEL, SERPENT, GOST, SAFER/SAFER+, etc.) for encrypting the + traffic between the client and the server. Encryption is + important in this addon, as it prevents unauthorized users from + sending bogus check results to Nagios. Read the included SECURITY + document for more information. + + This package provides the send_nsca utility running on the client. + </longdescription> + <use> + <flag name="crypt"> + Build support for crypted communication with nsca, through + <pkg>dev-libs/libmcrypt</pkg>. It's recommended not to disable this + flag unless all the communication will be handled in an + absolutely safe environment. + </flag> + <flag name="minimal"> + Only build and install the send_nsca command and not the + daemon. This allows a very minimal install with no overhead when + setting up a node. + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nsca/nsca-2.7.2-r104.ebuild b/net-analyzer/nsca/nsca-2.7.2-r104.ebuild new file mode 100644 index 000000000000..c60093a62989 --- /dev/null +++ b/net-analyzer/nsca/nsca-2.7.2-r104.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Nagios Service Check Acceptor" +HOMEPAGE="https://www.nagios.org/" +SRC_URI="https://downloads.sourceforge.net/nagios/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ppc ppc64 ~sparc x86" +IUSE="tcpd +crypt minimal" + +DEPEND="crypt? ( >=dev-libs/libmcrypt-2.5.1-r4 ) + !minimal? ( + tcpd? ( sys-apps/tcp-wrappers ) + acct-group/icinga + acct-group/nagios + acct-user/icinga + acct-user/nagios + )" +RDEPEND="${DEPEND} + !minimal? ( + || ( + net-analyzer/icinga + net-analyzer/nagios + ) + ) + sys-apps/openrc" + +src_configure() { + use tcpd || export ac_cv_lib_wrap_main=no + use crypt || export ac_cv_path_LIBMCRYPT_CONFIG=/bin/false + + econf \ + --localstatedir="${EPREFIX}"/var/nagios \ + --sysconfdir="${EPREFIX}"/etc/nagios \ + --with-nsca-user=nagios \ + --with-nsca-grp=nagios +} + +src_compile() { + emake -C src send_nsca $(use minimal || echo nsca) + + # prepare the alternative configuration file + sed \ + -e '/nsca_\(user\|group\)/s:nagios:icinga:' \ + -e '/nsca_chroot/s:=.*:=/var/lib/icinga/rw:' \ + -e '/\(command\|alternate_dump\)_file/s:/var/nagios:/var/lib/icinga:' \ + "${S}"/sample-config/nsca.cfg > "${T}"/nsca.icinga.cfg || die +} + +src_install() { + dodoc LEGAL Changelog README SECURITY + + dobin src/send_nsca + + insinto /etc/nagios + doins sample-config/send_nsca.cfg + + if ! use minimal; then + exeinto /usr/libexec + doexe src/nsca + + newinitd "${FILESDIR}"/nsca.init nsca + newconfd "${FILESDIR}"/nsca.conf nsca + + insinto /etc/nagios + doins sample-config/nsca.cfg + + insinto /etc/icinga + newins "${T}"/nsca.icinga.cfg nsca.cfg + fi +} + +pkg_postinst() { + if ! use minimal; then + elog "If you are using the nsca daemon, remember to edit" + elog "the config file /etc/nagios/nsca.cfg" + elog + elog "If you intend to use nsca with Icinga, change the" + elog "configuration file path in /etc/conf.d/nsca so that" + elog "it will default to the correct paths and users." + fi +} diff --git a/net-analyzer/ntopng/Manifest b/net-analyzer/ntopng/Manifest new file mode 100644 index 000000000000..9afd078f6a17 --- /dev/null +++ b/net-analyzer/ntopng/Manifest @@ -0,0 +1,2 @@ +DIST ntopng-6.0-web-34c53388e8da61e6e04b3efd8e98dcd9b9e4fe1b.tar.gz 2890924 BLAKE2B 476ce4ea83fbd1241c12e2cd486f97570457721fd7a7e78e0e7b04ae80c4a69beb37a00e6fb6e47783f9296371cc92b4c9347016bc971d815a3af83d1671eb1d SHA512 f9a1cf583c8d513a543498c9712ab40b9c1978877c5a86c0ec89bd26e9f66b8d90a0700f417bd7166b0b683e5091a3a1d30d4888564ae4220e62a9d82d17bc64 +DIST ntopng-6.0.tar.gz 68289620 BLAKE2B 7edbd1b6231fdd1592f1b6ecca9f96dc79513dce1c53db70fb7b721ea483738dc0e74107ca15629c430e14ca7e461053967abc35de09e303e36ded9ed9994b43 SHA512 d9d27bed0706d36c82a5b22b2b918014fed7d614e11c79cc47ee1033ae5fd2f703a67f3c5205c63c014bbd2839eb7c78616137ee6cc11d09ebcf6fafc7a658d2 diff --git a/net-analyzer/ntopng/files/ntopng-5.2.1-mysqltool.patch b/net-analyzer/ntopng/files/ntopng-5.2.1-mysqltool.patch new file mode 100644 index 000000000000..48551589f022 --- /dev/null +++ b/net-analyzer/ntopng/files/ntopng-5.2.1-mysqltool.patch @@ -0,0 +1,17 @@ +--- a/configure.ac.in ++++ b/configure.ac.in +@@ -596,13 +596,7 @@ if test "${with_nedge+set}" != set; then + if test "x$ac_cv_prog_ac_ct_MARIADB" = "xmariadb_config"; then + MYSQLTOOL="mariadb_config" + else +- PATH=$PATH:/usr/local/mysql/bin +- AC_CHECK_TOOL(MYSQL, mysql_config) +- if test "x$ac_cv_prog_ac_ct_MYSQL" = "xmysql_config"; then +- MYSQLTOOL="mysql_config" +- else +- MYSQLTOOL="" +- fi ++ MYSQLTOOL="mysql_config" + fi + + if test -n "$MYSQLTOOL"; then diff --git a/net-analyzer/ntopng/files/ntopng-5.4-ndpi-linking.patch b/net-analyzer/ntopng/files/ntopng-5.4-ndpi-linking.patch new file mode 100644 index 000000000000..8a50b7cb1a10 --- /dev/null +++ b/net-analyzer/ntopng/files/ntopng-5.4-ndpi-linking.patch @@ -0,0 +1,49 @@ +--- a/configure.ac.in ++++ b/configure.ac.in +@@ -231,31 +231,8 @@ NDPI_LIB= + NDPI_LIB_DEP= + + AC_MSG_CHECKING(for nDPI source) +- if test -d "./nDPI" ; then : +- NDPI_HOME=./nDPI +- elif test -d "../nDPI" ; then : +- NDPI_HOME=../nDPI +- elif test -d "$HOME/nDPI" ; then : +- NDPI_HOME=$HOME/nDPI +- fi +- +- if test ! -z "$NDPI_HOME" ; then : +- AC_MSG_RESULT(found in $NDPI_HOME) +- NDPI_LIB=$NDPI_HOME/src/lib/libndpi.a +- AC_MSG_CHECKING(for $NDPI_LIB) +- if test -r $NDPI_LIB ; then : +- AC_MSG_RESULT(found $NDPI_LIB) +- else +- AC_MSG_RESULT(not found $NDPI_LIB: compiling) +- cd $NDPI_HOME; ./autogen.sh; ${MAKE}; cd - +- fi +- NDPI_INC="-I$NDPI_HOME/src/include -I$NDPI_HOME/src/lib/third_party/include" +- NDPI_LIB=$NDPI_HOME/src/lib/libndpi.a +- NDPI_LIB_DEP=$NDPI_LIB +- else +- AC_MSG_RESULT(not found) +- fi +- ++ NDPI_LIB="-lndpi" ++ NDPI_LIB_DEP=$NDPI_LIB + + if test ! -z "$NDPI_CUST_INC" ; then : + NDPI_INC=$NDPI_CUST_INC +diff --git a/configure.ac.in b/configure.ac.in +index ed906b1..3e70bec 100644 +--- a/configure.ac.in ++++ b/configure.ac.in +@@ -242,7 +242,7 @@ if test ! -z "$NDPI_CUST_LIB" ; then : + NDPI_LIB=$NDPI_CUST_LIB + fi + +-if test -z "$NDPI_INC" || test -z "$NDPI_LIB" ; then : ++if test -z "$NDPI_LIB" ; then : + echo "Could not find nDPI" + echo "Please do cd ..; git clone https://github.com/ntop/nDPI.git; cd nDPI; ./autogen.sh; ${MAKE}; cd ../ntopng" + echo "and try again" diff --git a/net-analyzer/ntopng/files/ntopng-6.0-dont-const-cast-argv.patch b/net-analyzer/ntopng/files/ntopng-6.0-dont-const-cast-argv.patch new file mode 100644 index 000000000000..199db074097e --- /dev/null +++ b/net-analyzer/ntopng/files/ntopng-6.0-dont-const-cast-argv.patch @@ -0,0 +1,34 @@ +The patch is borrowed from upstream https://github.com/ntop/ntopng + +https://github.com/ntop/ntopng/commit/5069aa4a6259bd0830a33f2ece980612dba5ace9 + +commit 5069aa4a6259bd0830a33f2ece980612dba5ace9 (HEAD -> 6.0-stable, origin/6.0-stable) +Author: Denis Pronin <dannftk@yandex.ru> +Date: Sat Jun 8 09:29:51 2024 +0300 + + fix building when rrd_tune() function has const char** as the 2nd param (#8442) + + Signed-off-by: Denis Pronin <dannftk@yandex.ru> + +diff --git a/src/LuaEngineNtop.cpp b/src/LuaEngineNtop.cpp +index 42e41822c..ea8e3769f 100644 +--- a/src/LuaEngineNtop.cpp ++++ b/src/LuaEngineNtop.cpp +@@ -21,6 +21,8 @@ + + #include "ntop_includes.h" + ++#include <type_traits> ++ + extern "C" { + #include "rrd.h" + }; +@@ -6296,7 +6298,7 @@ static int ntop_rrd_tune(lua_State *vm) { + filename = argv[1]; + + reset_rrd_state(); +- status = rrd_tune(argc, (char **)argv); ++ status = rrd_tune(argc, (std::conditional<std::is_same<decltype(rrd_tune), int(int, const char **)>::value, const char **, char **>::type)argv); + + if (status != 0) { + char *err = rrd_get_error(); diff --git a/net-analyzer/ntopng/files/ntopng.conf.d b/net-analyzer/ntopng/files/ntopng.conf.d new file mode 100644 index 000000000000..b53f5d4ed777 --- /dev/null +++ b/net-analyzer/ntopng/files/ntopng.conf.d @@ -0,0 +1,3 @@ +NTOPNG_OPTS="-i eth0" +NTOPNG_OPTS="${NTOPNG_OPTS} -m 192.168.0.0/16" +NTOPNG_OPTS="${NTOPNG_OPTS} -d /var/lib/ntopng" diff --git a/net-analyzer/ntopng/files/ntopng.init.d b/net-analyzer/ntopng/files/ntopng.init.d new file mode 100644 index 000000000000..02f911b05a88 --- /dev/null +++ b/net-analyzer/ntopng/files/ntopng.init.d @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net redis +} + +start() { + ebegin "Starting ntopng" + start-stop-daemon --start --exec /usr/bin/ntopng --pidfile /var/run/ntopng.pid --make-pidfile --background -e LUA_PATH='/usr/share/ntopng/scripts/lua/modules/?.lua' -- --user ntopng ${NTOPNG_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ntopng" + start-stop-daemon --stop --exec /usr/bin/ntopng --pidfile /var/run/ntopng.pid + eend $? +} diff --git a/net-analyzer/ntopng/metadata.xml b/net-analyzer/ntopng/metadata.xml new file mode 100644 index 000000000000..de0d5f848741 --- /dev/null +++ b/net-analyzer/ntopng/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:ntop:ntopng</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ntopng/ntopng-6.0.ebuild b/net-analyzer/ntopng/ntopng-6.0.ebuild new file mode 100644 index 000000000000..06d7c2f07c92 --- /dev/null +++ b/net-analyzer/ntopng/ntopng-6.0.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +# Check this on bumps, get latest commit from the relevant branch (e.g. 6.0-stable) +# See bug #894152 and https://github.com/ntop/ntopng/issues/7203 +NTOPNG_DIST_COMMIT="34c53388e8da61e6e04b3efd8e98dcd9b9e4fe1b" +DESCRIPTION="Network traffic analyzer with web interface" +HOMEPAGE="https://www.ntop.org/" +SRC_URI="https://github.com/ntop/ntopng/archive/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/ntop/ntopng-dist/archive/${NTOPNG_DIST_COMMIT}.tar.gz -> ${P}-web-${NTOPNG_DIST_COMMIT}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="dev-db/mysql-connector-c:= + dev-db/sqlite:3 + dev-libs/hiredis:= + dev-libs/json-c:= + dev-libs/libmaxminddb + dev-libs/libsodium:= + dev-libs/openssl:= + net-analyzer/rrdtool + net-libs/libpcap + ~net-libs/nDPI-4.8 + >=net-libs/zeromq-3:= + net-misc/curl + sys-libs/libcap + virtual/zlib:=" +RDEPEND="${DEPEND} + acct-user/ntopng + acct-group/ntopng + dev-db/redis" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-5.2.1-mysqltool.patch + "${FILESDIR}"/${PN}-5.4-ndpi-linking.patch + "${FILESDIR}"/${PN}-6.0-dont-const-cast-argv.patch +) + +src_prepare() { + default + + # Follows upstream's autogen.sh + sed \ + -e "s/@VERSION@/${PV}.$(date +%y%m%d)/g" \ + -e "s/@SHORT_VERSION@/${PV}/g" \ + -e "s/@GIT_DATE@/$(date)/g" \ + -e "s/@GIT_RELEASE@/${PV}.$(date +%y%m%d)/g" \ + -e "s/@GIT_BRANCH@//g" < "${S}/configure.ac.in" \ + > "${S}/configure.ac" || die + + eautoreconf +} + +src_configure() { + tc-export PKG_CONFIG + + # configure.ac.in at least has some bashisms(?) which get lost(?) + # in conversion to configure.ac (like [ -> nothing?) so just force + # bash for now. It's still not quite right but at least upstream will be + # testing with it. TODO: fix this! + CONFIG_SHELL="${BROOT}/bin/bash" econf --with-ndpi-includes="${ESYSROOT}"/usr/include/ndpi +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + MYCFLAGS="${CFLAGS}" \ + MYLDFLAGS="${LDFLAGS}" +} + +src_install() { + # httpdocs/geoip/README.geolocation.md is a symlink, change to real file + GEOLOCATION_MD="httpdocs/geoip/README.geolocation.md" + if [[ -h "${GEOLOCATION_MD}" ]] ; then + GEOLOCATION_MD_REAL=$(readlink -m -- "${GEOLOCATION_MD}" || die) + ln -f ${GEOLOCATION_MD_REAL} ${GEOLOCATION_MD} || die + fi + + SHARE_NTOPNG_DIR="${EPREFIX}/usr/share/${PN}" + insinto "${SHARE_NTOPNG_DIR}" + doins -r httpdocs + doins -r scripts + + insinto "${SHARE_NTOPNG_DIR}"/httpdocs/dist + doins -r "${WORKDIR}"/ntopng-dist-${NTOPNG_DIST_COMMIT}/. + + insinto "${SHARE_NTOPNG_DIR}/third-party" + doins -r third-party/i18n.lua-master + doins -r third-party/lua-resty-template-master + + exeinto /usr/bin + doexe "${PN}" + doman "${PN}.8" + + newinitd "${FILESDIR}"/ntopng.init.d ntopng + newconfd "${FILESDIR}"/ntopng.conf.d ntopng + + keepdir /var/lib/ntopng + fowners ntopng /var/lib/ntopng +} + +pkg_postinst() { + elog "ntopng default credentials are user='admin' password='admin'" +} diff --git a/net-analyzer/nuttcp/Manifest b/net-analyzer/nuttcp/Manifest new file mode 100644 index 000000000000..c7bb1cf75d83 --- /dev/null +++ b/net-analyzer/nuttcp/Manifest @@ -0,0 +1 @@ +DIST nuttcp-8.1.4.tar.bz2 13063356 BLAKE2B 374b76bed06615bf5966df5864c8987d5e8336eedd7450ccfef164e575f58ce2a22dbc1e0327e7740799560c30a03f9423d3fd50579fa01cd638059485c7f61b SHA512 ba6ff33bc1790c92f47d760d4588b128f60f0ca09ed43d95fd10b0edfb636a493b0d26b195e688a13b5b79fafc1cc52a0c73455263f921ff8ad0cf087f1d937b diff --git a/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch b/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch new file mode 100644 index 000000000000..02de62a80e70 --- /dev/null +++ b/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch @@ -0,0 +1,21 @@ +--- a/Makefile 2017-10-29 08:39:34.209474792 +0200 ++++ b/Makefile 2017-10-29 15:11:02.082490459 +0200 +@@ -2,8 +2,7 @@ + #EXTRAVERSION=-pre1 + CC = gcc -Wall + #OPT = -g -O0 +-OPT = -O3 +-CFLAGS = $(OPT) $(NOIPV6) ++CFLAGS += $(OPT) $(NOIPV6) + LIBS = + ifneq ($(NOIPV6),) + APPEXTV6=-noipv6 +@@ -53,7 +52,7 @@ + # $(MAKE) CC=icc OPT="-w -O3 -parallel -unroll -align -xM -vec_report -par_report2" + + $(APP)$(EXTRAVERSION)$(APPEXT): $(APP)$(EXTRAVERSION).c $(LIBS) +- $(CC) $(CFLAGS) -o $@ $< $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) + inet_ntop.o: missing/inet_ntop.c missing/config.h + $(CC) $(CFLAGS.MISSING) -o $@ -c $< + inet_pton.o: missing/inet_pton.c missing/config.h diff --git a/net-analyzer/nuttcp/files/nuttcp.confd b/net-analyzer/nuttcp/files/nuttcp.confd new file mode 100644 index 000000000000..a41d858550a1 --- /dev/null +++ b/net-analyzer/nuttcp/files/nuttcp.confd @@ -0,0 +1,5 @@ +# Config file for /etc/init.d/nuttcp + +# extra options (run nuttcp -h for a list of supported options) +# Parameter -S indicates that nuttcp acts as a server. +NUTTCP_OPTS="-S" diff --git a/net-analyzer/nuttcp/files/nuttcp.initd b/net-analyzer/nuttcp/files/nuttcp.initd new file mode 100644 index 000000000000..3ba80fab8f6e --- /dev/null +++ b/net-analyzer/nuttcp/files/nuttcp.initd @@ -0,0 +1,16 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/nuttcp" +command_background="yes" +command_args="${NUTTCP_OPTS}" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net +} + +start_post() { + pgrep -n "${RC_SVCNAME%%.*}" > "${pidfile}" +} diff --git a/net-analyzer/nuttcp/metadata.xml b/net-analyzer/nuttcp/metadata.xml new file mode 100644 index 000000000000..dac4dc272a73 --- /dev/null +++ b/net-analyzer/nuttcp/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>spiderx@spiderx.dp.ua</email> + <name>Vladimir Pavljuchenkov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + nuttcp is a network performance measurement tool intended for use + by network and system managers. Its most basic usage is to determine + the raw TCP (or UDP) network layer throughput by transferring memory + buffers from a source system across an interconnecting network to + a destination system, either transferring data for a specified time + interval, or alternatively transferring a specified number of bytes. + </longdescription> + <upstream> + <bugs-to>mailto:nuttcp@lcp.nrl.navy.mil</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/nuttcp/nuttcp-8.1.4-r1.ebuild b/net-analyzer/nuttcp/nuttcp-8.1.4-r1.ebuild new file mode 100644 index 000000000000..e45ea3aabc0a --- /dev/null +++ b/net-analyzer/nuttcp/nuttcp-8.1.4-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit readme.gentoo-r1 systemd toolchain-funcs + +DESCRIPTION="Network performance measurement tool" +HOMEPAGE="https://www.nuttcp.net/" +SRC_URI="https://nuttcp.net/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="xinetd" + +RDEPEND="xinetd? ( sys-apps/xinetd )" + +DOCS=( examples.txt README ) +# Honor CC, LDFLAGS, CFLAGS, CPPFLAGS +PATCHES=( "${FILESDIR}"/"${P}"-makefile.patch ) + +DOC_CONTENTS="Usage of nuttpc by its service name in xinetd service, +iptables rules, etc. will require adding these lines to /etc/services:\\n +nuttcp\\t\\t5000/tcp\\n +nuttcp-data\\t\\t5001/tcp\\n +nuttcp6\\t\\t5000/tcp\\n +nuttcp6-data\\t\\t5001/tcp\\n\\n +To run ${PN} in server mode, run:\\n/etc/init.d/${PN} start" + +src_prepare() { + default + + # Fix path to binary + sed -i '/server/s|/local||' xinetd.d/nuttcp || die "sed failed" +} + +src_compile() { + emake APPEXT='' CC="$(tc-getCC)" +} + +src_install() { + einstalldocs + doman "${PN}".8 + newbin "${P}" "${PN}" + + newinitd "${FILESDIR}"/"${PN}".initd "${PN}" + newconfd "${FILESDIR}"/"${PN}".confd "${PN}" + systemd_dounit systemd/"${PN}"@.service + systemd_dounit systemd/"${PN}".socket + + if use xinetd ; then + insinto /etc/xinetd.d + doins xinetd.d/"${PN}" + fi + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/net-analyzer/odhcploc/Manifest b/net-analyzer/odhcploc/Manifest new file mode 100644 index 000000000000..f5781687b5bc --- /dev/null +++ b/net-analyzer/odhcploc/Manifest @@ -0,0 +1 @@ +DIST odhcploc-20111021.tar.gz 13831 BLAKE2B c0eb71bc47bdf70fee5f701d6d3a6641110682c82f49f3ea38402526cd4f83e588cbd75272adfafae15e9e3d2c366a9b4004a0a6cfe478cd469c6507627f0e28 SHA512 3270b2bf25e079544805ceaba152e4d47a3cae3d78db0429b21c884686de8e0a872628a92390eebe5128ebcf9dcc3d14020420bb95ae8b367784ae4282d21556 diff --git a/net-analyzer/odhcploc/metadata.xml b/net-analyzer/odhcploc/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/odhcploc/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/odhcploc/odhcploc-20111021-r2.ebuild b/net-analyzer/odhcploc/odhcploc-20111021-r2.ebuild new file mode 100644 index 000000000000..24cc8e6c719e --- /dev/null +++ b/net-analyzer/odhcploc/odhcploc-20111021-r2.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Open DHCP Locator" +HOMEPAGE="https://odhcploc.sourceforge.io" +SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PV}/${P}.tar.gz" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + elibc_musl? ( sys-libs/queue-standalone ) +" + +src_configure() { + # Don't clobber toolchain defaults + sed -i -e 's:-Wp,-D_FORTIFY_SOURCE=2::' Makefile || die + + tc-export CC +} + +src_install() { + dobin ${PN} + doman ${PN}.8 + dodoc AUTHORS +} diff --git a/net-analyzer/oinkmaster/Manifest b/net-analyzer/oinkmaster/Manifest new file mode 100644 index 000000000000..ab053bf236a1 --- /dev/null +++ b/net-analyzer/oinkmaster/Manifest @@ -0,0 +1 @@ +DIST oinkmaster-2.0.tar.gz 80111 BLAKE2B 486eecc69f046bafc056266f4329bc645dbec0aa46b0703b2ebec760db49146fec1e2d151075a7bf76fab158be6f93876ad4862a2de1ae29a35acf0e4410944e SHA512 03874462cff71e558d4383fef9e757eb4260b20f4b1de4741edcd49fec6effe32669e95edb637962b77b12c519deeb74adc3c15427d0e054e1b96e2f03ffdb3b diff --git a/net-analyzer/oinkmaster/metadata.xml b/net-analyzer/oinkmaster/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/oinkmaster/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/oinkmaster/oinkmaster-2.0.ebuild b/net-analyzer/oinkmaster/oinkmaster-2.0.ebuild new file mode 100644 index 000000000000..1fdc2a043589 --- /dev/null +++ b/net-analyzer/oinkmaster/oinkmaster-2.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Rule management for SNORT" +HOMEPAGE="https://oinkmaster.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/oinkmaster/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~sparc x86" +IUSE="X" + +RDEPEND=" + app-arch/gzip + app-arch/tar + >=dev-lang/perl-5.6.1 + net-misc/wget + X? ( dev-perl/Tk ) +" + +src_install() { + dobin \ + contrib/addmsg.pl \ + contrib/addsid.pl \ + contrib/create-sidmap.pl \ + contrib/makesidex.pl \ + oinkmaster.pl + + use X && dobin contrib/oinkgui.pl + + dodoc FAQ README README.gui README.win32 UPGRADING contrib/README.contrib + + doman oinkmaster.1 + + insinto /etc + doins oinkmaster.conf +} diff --git a/net-analyzer/ookla-speedtest/Manifest b/net-analyzer/ookla-speedtest/Manifest new file mode 100644 index 000000000000..def0e9c7711a --- /dev/null +++ b/net-analyzer/ookla-speedtest/Manifest @@ -0,0 +1,4 @@ +DIST ookla-speedtest-1.2.0-linux-aarch64.tgz 1082287 BLAKE2B dc30e0c2bbe3206e326e22c1724f5bd63a9bf3d2237347222d2b36b2ccc98af06b55f5d5635c4487ae85d32323ea66a927b578ee29f89369ca395787bded34a3 SHA512 d7b78428220b84eac345594a500a76211dcbd19ffc9e399642a2e1506494433f9b6e596828bb5387275b0e1d38eada78af8183cefafa2ed1d93bfecdc366e569 +DIST ookla-speedtest-1.2.0-linux-armhf.tgz 1039260 BLAKE2B 8c4dc63bfdd797fd1e8482fa56f514486a564f3fd0e7f1fc008ba1dd6c20c5b3b8d92eb9b25458324b9ee65987edd1ce18f446b16a8e07f1c1f8df864424f75e SHA512 97a41d4ff38aa550faccfc29b9fe8b5d3e25deb2de4690598f2fb8c9469b379604fbd452ab978268e231b70154807ccc9d268a1cf40fa6aa10d2ec176e9b8be7 +DIST ookla-speedtest-1.2.0-linux-i386.tgz 1191626 BLAKE2B e416169ea7d7f86587b166458d5bff6b2d7e7757fb122deafb4fc824430059c15767b54113705e28b3bdb84bfe8420008f5e9bf5e221427ef7e0838faa04ede8 SHA512 a02cb0aabf9ce261944be9097ad9923bcbdc6b61989e764ac67ff5a46dedaff4f39a27ede733c081e3cc8e0b31f494e6be9aebcae9f4f8c63c4e0184ac9e320b +DIST ookla-speedtest-1.2.0-linux-x86_64.tgz 1106829 BLAKE2B 0eef2c45e3b8d2a9b22f52dce3661d2d0ca472f7127404c0d2ba696068a17e09bdc37427162c41ddb7a3f928c3c402047630f7cd733a3651ee4f65ede2f5d6c2 SHA512 f7ea618abcb17204fea3ede6ec84ed968cd2625540a2922247019830fc6f80a3d2e744a78fc37c7c265e7f51222334b49aef222f80acc1698a57c3c9066708e1 diff --git a/net-analyzer/ookla-speedtest/metadata.xml b/net-analyzer/ookla-speedtest/metadata.xml new file mode 100644 index 000000000000..ab6d48498440 --- /dev/null +++ b/net-analyzer/ookla-speedtest/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + Speedtest CLI brings the trusted technology and global server network + behind Speedtest to the command line. Built for software developers, + system administrators and computer enthusiasts alike, + Speedtest CLI is the first official Linux-native Speedtest application + backed by Ookla. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ookla-speedtest/ookla-speedtest-1.2.0.ebuild b/net-analyzer/ookla-speedtest/ookla-speedtest-1.2.0.ebuild new file mode 100644 index 000000000000..04352bc97a59 --- /dev/null +++ b/net-analyzer/ookla-speedtest/ookla-speedtest-1.2.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Internet connection measurement by Ookla" +HOMEPAGE="https://www.speedtest.net/apps/cli" +SRC_URI=" + amd64? ( https://install.speedtest.net/app/cli/${P}-linux-x86_64.tgz ) + arm? ( https://install.speedtest.net/app/cli/${P}-linux-armhf.tgz ) + arm64? ( https://install.speedtest.net/app/cli/${P}-linux-aarch64.tgz ) + x86? ( https://install.speedtest.net/app/cli/${P}-linux-i386.tgz ) +" +S="${WORKDIR}" + +LICENSE="Ookla" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86" +RESTRICT="bindist mirror" + +QA_PREBUILT="usr/bin/ookla-speedtest" + +src_install() { + newbin speedtest ookla-speedtest + newman speedtest.5 ookla-speedtest.5 + newdoc speedtest.md ookla-speedtest.md +} diff --git a/net-analyzer/openbsd-netcat/Manifest b/net-analyzer/openbsd-netcat/Manifest new file mode 100644 index 000000000000..0335465e67df --- /dev/null +++ b/net-analyzer/openbsd-netcat/Manifest @@ -0,0 +1,6 @@ +DIST netcat-openbsd_1.218-5.debian.tar.xz 52052 BLAKE2B 38ccde34bfa6f1873a8e38fa7355f94bc74cdeb125fd4081fd68819a685d49a4c8a6cc7ed243d49df2d38c7536f4ac680d598bd4c28a938bc4750c89376d2961 SHA512 a230eb143e32fe80ee108325bb81c4e163d48982b484bf4a93ef266e9eed12890e7e294c2fe3dd2ce91fe5aec7de2f1407bf25dc938c2565bfb3e0759555dddc +DIST netcat-openbsd_1.218.orig.tar.gz 22964 BLAKE2B 2dba29cc93ef5295ec24db7632454564fa640fba139116d2732aff465c9a4b37238f65d51ad727f9b29d304b73ce05282b82ec468444c63f5611a90a1384ac62 SHA512 a830f0e3efdff01ba1bb0b344f49d545b9c184001cd641e523a6d24670b97d52dc723318660a5ec8f3215cb57ebe62ca4c06387000b6c8b6495a5c653a4206c6 +DIST netcat-openbsd_1.219-1.debian.tar.xz 52048 BLAKE2B 62c2e4a6446fbdb01ea34a70c10dc72a980e62b4d8e06e4564f05932b9fb291be73558a1b8c11f448c509b0fc3c5fe42381a1a9f0a14bba0c2e087dd1e6da9f1 SHA512 badc1afbe8a467c068fa1d3bf12817d568eae5bb9774f9f11d3b30c065eb3a8b39724bb456329d7153ea3160cd10fab159a6756f7eeafd9bfc8c5d78114f7da6 +DIST netcat-openbsd_1.219.orig.tar.gz 22940 BLAKE2B 4e871124a22fec2ba572f2a614b7eb5134565acd5d952973f7e7f76ead6b22d0811efcc916726da1e7719c5d3014f94ea53ad09804a77b55c4b15fc571bf0e95 SHA512 9f6d531d33410457b8f1e6a3eb0d105dbd819d5e4fe9753d32d7fd4583680ceba102a60307a8b5ef26b47047492b207388742b725da3708d30d360d4a196f115 +DIST netcat-openbsd_1.234-1.debian.tar.xz 52892 BLAKE2B 82be4c8f944cb8a63805d0ad97cc675ebe46c8510acf14bd68f98c289107615a3ee6f9f1119b3f21fd6c8673c60d95d0c520d9a0917f42aac1f20e367b631836 SHA512 481a9617749c02cee3ee0b871eb8f7f364f1514c1c89bf1d1d741bb4c4960ae3279306f233b4edb1c6805f9bb0cc0d056e59003bb35db8ee28aa779540ab4fb9 +DIST netcat-openbsd_1.234.orig.tar.gz 23408 BLAKE2B 60d43fad746374b18862d53394e7e3d70da242b3ef242730f5dbf124d237e7b6d95139c09e916f0d5b4301bf6d5d10e4548e61a9044075965b3df1c6232dac9e SHA512 81b1cb461cb26d728b0a5d1d07c53624a05c84872a82f3d9cba43c9e8c25581b773cbe7a3467ad91add028f6765d9349c21dafbe0d746806763ae601547a9673 diff --git a/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.105-musl-b64_ntop.patch b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.105-musl-b64_ntop.patch new file mode 100644 index 000000000000..a9603b38bc03 --- /dev/null +++ b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.105-musl-b64_ntop.patch @@ -0,0 +1,349 @@ +diff -Naur netcat-openbsd-1.105.orig/Makefile netcat-openbsd-1.105/Makefile +--- netcat-openbsd-1.105.orig/Makefile 2017-06-18 09:01:44.293852659 -0700 ++++ netcat-openbsd-1.105/Makefile 2017-06-18 09:04:35.566687655 -0700 +@@ -1,7 +1,7 @@ + # $OpenBSD: Makefile,v 1.6 2001/09/02 18:45:41 jakob Exp $ + + PROG= nc +-SRCS= netcat.c atomicio.c socks.c ++SRCS= netcat.c atomicio.c socks.c compat/base64.c + + LIBS= `pkg-config --libs libbsd` -lresolv + OBJS= $(SRCS:.c=.o) +diff -Naur netcat-openbsd-1.105.orig/compat/base64.c netcat-openbsd-1.105/compat/base64.c +--- netcat-openbsd-1.105.orig/compat/base64.c 1969-12-31 16:00:00.000000000 -0800 ++++ netcat-openbsd-1.105/compat/base64.c 2017-06-18 09:01:31.288700637 -0700 +@@ -0,0 +1,315 @@ ++/* $OpenBSD: base64.c,v 1.8 2015/01/16 16:48:51 deraadt Exp $ */ ++ ++/* ++ * Copyright (c) 1996 by Internet Software Consortium. ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS ++ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE ++ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL ++ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR ++ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ++ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++ * SOFTWARE. ++ */ ++ ++/* ++ * Portions Copyright (c) 1995 by International Business Machines, Inc. ++ * ++ * International Business Machines, Inc. (hereinafter called IBM) grants ++ * permission under its copyrights to use, copy, modify, and distribute this ++ * Software with or without fee, provided that the above copyright notice and ++ * all paragraphs of this notice appear in all copies, and that the name of IBM ++ * not be used in connection with the marketing of any product incorporating ++ * the Software or modifications thereof, without specific, written prior ++ * permission. ++ * ++ * To the extent it has a right to do so, IBM grants an immunity from suit ++ * under its patents, if any, for the use, sale or manufacture of products to ++ * the extent that such products are used for performing Domain Name System ++ * dynamic updates in TCP/IP networks by means of the Software. No immunity is ++ * granted for any product per se or for any other function of any product. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, ++ * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN ++ * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. ++ */ ++ ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <netinet/in.h> ++#include <arpa/inet.h> ++#include <arpa/nameser.h> ++ ++#include <ctype.h> ++#include <resolv.h> ++#include <stdio.h> ++ ++#include <stdlib.h> ++#include <string.h> ++ ++static const char Base64[] = ++ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ++static const char Pad64 = '='; ++ ++/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt) ++ The following encoding technique is taken from RFC 1521 by Borenstein ++ and Freed. It is reproduced here in a slightly edited form for ++ convenience. ++ ++ A 65-character subset of US-ASCII is used, enabling 6 bits to be ++ represented per printable character. (The extra 65th character, "=", ++ is used to signify a special processing function.) ++ ++ The encoding process represents 24-bit groups of input bits as output ++ strings of 4 encoded characters. Proceeding from left to right, a ++ 24-bit input group is formed by concatenating 3 8-bit input groups. ++ These 24 bits are then treated as 4 concatenated 6-bit groups, each ++ of which is translated into a single digit in the base64 alphabet. ++ ++ Each 6-bit group is used as an index into an array of 64 printable ++ characters. The character referenced by the index is placed in the ++ output string. ++ ++ Table 1: The Base64 Alphabet ++ ++ Value Encoding Value Encoding Value Encoding Value Encoding ++ 0 A 17 R 34 i 51 z ++ 1 B 18 S 35 j 52 0 ++ 2 C 19 T 36 k 53 1 ++ 3 D 20 U 37 l 54 2 ++ 4 E 21 V 38 m 55 3 ++ 5 F 22 W 39 n 56 4 ++ 6 G 23 X 40 o 57 5 ++ 7 H 24 Y 41 p 58 6 ++ 8 I 25 Z 42 q 59 7 ++ 9 J 26 a 43 r 60 8 ++ 10 K 27 b 44 s 61 9 ++ 11 L 28 c 45 t 62 + ++ 12 M 29 d 46 u 63 / ++ 13 N 30 e 47 v ++ 14 O 31 f 48 w (pad) = ++ 15 P 32 g 49 x ++ 16 Q 33 h 50 y ++ ++ Special processing is performed if fewer than 24 bits are available ++ at the end of the data being encoded. A full encoding quantum is ++ always completed at the end of a quantity. When fewer than 24 input ++ bits are available in an input group, zero bits are added (on the ++ right) to form an integral number of 6-bit groups. Padding at the ++ end of the data is performed using the '=' character. ++ ++ Since all base64 input is an integral number of octets, only the ++ ------------------------------------------------- ++ following cases can arise: ++ ++ (1) the final quantum of encoding input is an integral ++ multiple of 24 bits; here, the final unit of encoded ++ output will be an integral multiple of 4 characters ++ with no "=" padding, ++ (2) the final quantum of encoding input is exactly 8 bits; ++ here, the final unit of encoded output will be two ++ characters followed by two "=" padding characters, or ++ (3) the final quantum of encoding input is exactly 16 bits; ++ here, the final unit of encoded output will be three ++ characters followed by one "=" padding character. ++ */ ++ ++int ++b64_ntop(src, srclength, target, targsize) ++ u_char const *src; ++ size_t srclength; ++ char *target; ++ size_t targsize; ++{ ++ size_t datalength = 0; ++ u_char input[3]; ++ u_char output[4]; ++ int i; ++ ++ while (2 < srclength) { ++ input[0] = *src++; ++ input[1] = *src++; ++ input[2] = *src++; ++ srclength -= 3; ++ ++ output[0] = input[0] >> 2; ++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); ++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); ++ output[3] = input[2] & 0x3f; ++ ++ if (datalength + 4 > targsize) ++ return (-1); ++ target[datalength++] = Base64[output[0]]; ++ target[datalength++] = Base64[output[1]]; ++ target[datalength++] = Base64[output[2]]; ++ target[datalength++] = Base64[output[3]]; ++ } ++ ++ /* Now we worry about padding. */ ++ if (0 != srclength) { ++ /* Get what's left. */ ++ input[0] = input[1] = input[2] = '\0'; ++ for (i = 0; i < srclength; i++) ++ input[i] = *src++; ++ ++ output[0] = input[0] >> 2; ++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); ++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); ++ ++ if (datalength + 4 > targsize) ++ return (-1); ++ target[datalength++] = Base64[output[0]]; ++ target[datalength++] = Base64[output[1]]; ++ if (srclength == 1) ++ target[datalength++] = Pad64; ++ else ++ target[datalength++] = Base64[output[2]]; ++ target[datalength++] = Pad64; ++ } ++ if (datalength >= targsize) ++ return (-1); ++ target[datalength] = '\0'; /* Returned value doesn't count \0. */ ++ return (datalength); ++} ++ ++/* skips all whitespace anywhere. ++ converts characters, four at a time, starting at (or after) ++ src from base - 64 numbers into three 8 bit bytes in the target area. ++ it returns the number of data bytes stored at the target, or -1 on error. ++ */ ++ ++int ++b64_pton(src, target, targsize) ++ char const *src; ++ u_char *target; ++ size_t targsize; ++{ ++ int tarindex, state, ch; ++ u_char nextbyte; ++ char *pos; ++ ++ state = 0; ++ tarindex = 0; ++ ++ while ((ch = (unsigned char)*src++) != '\0') { ++ if (isspace(ch)) /* Skip whitespace anywhere. */ ++ continue; ++ ++ if (ch == Pad64) ++ break; ++ ++ pos = strchr(Base64, ch); ++ if (pos == 0) /* A non-base64 character. */ ++ return (-1); ++ ++ switch (state) { ++ case 0: ++ if (target) { ++ if (tarindex >= targsize) ++ return (-1); ++ target[tarindex] = (pos - Base64) << 2; ++ } ++ state = 1; ++ break; ++ case 1: ++ if (target) { ++ if (tarindex >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64) >> 4; ++ nextbyte = ((pos - Base64) & 0x0f) << 4; ++ if (tarindex + 1 < targsize) ++ target[tarindex+1] = nextbyte; ++ else if (nextbyte) ++ return (-1); ++ } ++ tarindex++; ++ state = 2; ++ break; ++ case 2: ++ if (target) { ++ if (tarindex >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64) >> 2; ++ nextbyte = ((pos - Base64) & 0x03) << 6; ++ if (tarindex + 1 < targsize) ++ target[tarindex+1] = nextbyte; ++ else if (nextbyte) ++ return (-1); ++ } ++ tarindex++; ++ state = 3; ++ break; ++ case 3: ++ if (target) { ++ if (tarindex >= targsize) ++ return (-1); ++ target[tarindex] |= (pos - Base64); ++ } ++ tarindex++; ++ state = 0; ++ break; ++ } ++ } ++ ++ /* ++ * We are done decoding Base-64 chars. Let's see if we ended ++ * on a byte boundary, and/or with erroneous trailing characters. ++ */ ++ ++ if (ch == Pad64) { /* We got a pad char. */ ++ ch = (unsigned char)*src++; /* Skip it, get next. */ ++ switch (state) { ++ case 0: /* Invalid = in first position */ ++ case 1: /* Invalid = in second position */ ++ return (-1); ++ ++ case 2: /* Valid, means one byte of info */ ++ /* Skip any number of spaces. */ ++ for (; ch != '\0'; ch = (unsigned char)*src++) ++ if (!isspace(ch)) ++ break; ++ /* Make sure there is another trailing = sign. */ ++ if (ch != Pad64) ++ return (-1); ++ ch = (unsigned char)*src++; /* Skip the = */ ++ /* Fall through to "single trailing =" case. */ ++ /* FALLTHROUGH */ ++ ++ case 3: /* Valid, means two bytes of info */ ++ /* ++ * We know this char is an =. Is there anything but ++ * whitespace after it? ++ */ ++ for (; ch != '\0'; ch = (unsigned char)*src++) ++ if (!isspace(ch)) ++ return (-1); ++ ++ /* ++ * Now make sure for cases 2 and 3 that the "extra" ++ * bits that slopped past the last full byte were ++ * zeros. If we don't check them, they become a ++ * subliminal channel. ++ */ ++ if (target && tarindex < targsize && ++ target[tarindex] != 0) ++ return (-1); ++ } ++ } else { ++ /* ++ * We ended by seeing the end of the string. Make sure we ++ * have no partial bytes lying around. ++ */ ++ if (state != 0) ++ return (-1); ++ } ++ ++ return (tarindex); ++} +diff -Naur netcat-openbsd-1.105.orig/compat/base64.h netcat-openbsd-1.105/compat/base64.h +--- netcat-openbsd-1.105.orig/compat/base64.h 1969-12-31 16:00:00.000000000 -0800 ++++ netcat-openbsd-1.105/compat/base64.h 2017-06-18 09:09:02.057554167 -0700 +@@ -0,0 +1,3 @@ ++#include <sys/types.h> ++int b64_ntop(u_char const* src, size_t srclength, char *target, size_t targsize); ++int b64_pton(char const* src, u_char *target, size_t targsize); +diff -Naur netcat-openbsd-1.105.orig/socks.c netcat-openbsd-1.105/socks.c +--- netcat-openbsd-1.105.orig/socks.c 2017-06-18 09:01:44.293852659 -0700 ++++ netcat-openbsd-1.105/socks.c 2017-06-18 09:09:21.105757665 -0700 +@@ -40,6 +40,7 @@ + #include <resolv.h> + #include <bsd/readpassphrase.h> + #include "atomicio.h" ++#include "compat/base64.h" + + #define SOCKS_PORT "1080" + #define HTTP_PROXY_PORT "3128" diff --git a/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.190-darwin13.patch b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.190-darwin13.patch new file mode 100644 index 000000000000..216b8c207922 --- /dev/null +++ b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.190-darwin13.patch @@ -0,0 +1,54 @@ +strtonum isn't available on <Darwin-11 + +however, it is in the header files on systems like 10.15 with an +availability clause, so don't define strtonum static such that it +matches the prototype from stdlib.h + +diff --git a/netcat.c b/netcat.c +index a0fb51b..bbb5dd1 100644 +--- a/netcat.c ++++ b/netcat.c +@@ -240,6 +243,43 @@ static int connect_with_timeout(int fd, const struct sockaddr *sa, + + static void quit(); + ++static char* strtonumerrs[] = { ++ "too large", ++ "too small", ++ "invalid" ++}; ++ ++long long ++strtonum( ++ const char *nptr, ++ long long minval, ++ long long maxval, ++ const char **errstr) ++{ ++ long long val; ++ ++ while (*nptr != '\0' && isspace(*nptr)) ++ nptr++; ++ if (*nptr == '\0') { ++ if (errstr != NULL) ++ *errstr = strtonumerrs[2]; ++ return 0; ++ } ++ val = atoll(nptr); ++ if (val < minval) { ++ if (errstr != NULL) ++ *errstr = strtonumerrs[1]; ++ return 0; ++ } ++ if (val > maxval) { ++ if (errstr != NULL) ++ *errstr = strtonumerrs[0]; ++ return 0; ++ } ++ *errstr = NULL; ++ return val; ++} ++ + int + main(int argc, char *argv[]) + { diff --git a/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.219-darwin.patch b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.219-darwin.patch new file mode 100644 index 000000000000..564c414fc750 --- /dev/null +++ b/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.219-darwin.patch @@ -0,0 +1,95 @@ +Allow compilation on Darwin, reverting parts of Linux/Debian patch + +Signed-off-by: Fabian Groffen <grobian@gentoo.org> + +--- a/netcat.c 2023-09-26 15:04:51.169658537 +0200 ++++ b/netcat.c 2023-09-26 15:07:00.270929256 +0200 +@@ -50,13 +50,18 @@ + # include <bsd/readpassphrase.h> + #endif + ++#ifndef IPTOS_LOWCOST ++# define IPTOS_LOWCOST 0x02 ++#endif + #ifndef IPTOS_LOWDELAY + # define IPTOS_LOWDELAY 0x10 + # define IPTOS_THROUGHPUT 0x08 + # define IPTOS_RELIABILITY 0x04 +-# define IPTOS_LOWCOST 0x02 + # define IPTOS_MINCOST IPTOS_LOWCOST + #endif /* IPTOS_LOWDELAY */ ++#ifndef SOCK_CLOEXEC ++# define SOCK_CLOEXEC 0 ++#endif + + # ifndef IPTOS_DSCP_AF11 + # define IPTOS_DSCP_AF11 0x28 +@@ -108,8 +113,9 @@ + # include <tls.h> + #endif + #include <unistd.h> +-#include <bsd/stdlib.h> +-#include <bsd/string.h> ++#include <stdlib.h> ++#include <string.h> ++#include <ctype.h> + + #include "atomicio.h" + +@@ -814,9 +820,8 @@ + int connfd; + + len = sizeof(cliaddr); +- connfd = accept4(s, (struct sockaddr *)&cliaddr, +- &len, SOCK_NONBLOCK); +- if (connfd == -1) { ++ connfd = accept(s, (struct sockaddr *)&cliaddr, &len); ++ if (connfd == -1 || fcntl(connfd, F_SETFL, O_NONBLOCK) == -1) { + /* For now, all errnos are fatal */ + err(1, "accept"); + } +@@ -1069,6 +1074,8 @@ + } else + err(1, "poll failed"); + } ++ if (fcntl(s, F_SETFD, FD_CLOEXEC) == -1) ++ return -1; + + return ret; + } +@@ -1218,9 +1225,13 @@ + port, gai_strerror(error)); + + for (res = res0; res; res = res->ai_next) { +- if ((s = socket(res->ai_family, res->ai_socktype | +- SOCK_NONBLOCK, res->ai_protocol)) == -1) ++ if ((s = socket(res->ai_family, res->ai_socktype, ++ res->ai_protocol)) == -1) + continue; ++ if (fcntl(s, F_SETFL, O_NONBLOCK) == -1) { ++ close(s); ++ continue; ++ } + + /* Bind to a local port or source address if specified. */ + if (sflag || pflag) { +--- a/socks.c 2023-09-26 15:04:51.085185645 +0200 ++++ b/socks.c 2023-09-26 15:07:30.947097100 +0200 +@@ -38,7 +38,7 @@ + #include <string.h> + #include <unistd.h> + #include <resolv.h> +-#include <bsd/readpassphrase.h> ++#include <readpassphrase.h> + #include "atomicio.h" + + #define SOCKS_PORT "1080" +@@ -53,6 +53,8 @@ + #define SOCKS_DOMAIN 3 + #define SOCKS_IPV6 4 + ++#define explicit_bzero(S,L) bzero(S,L) ++ + int remote_connect(const char *, const char *, struct addrinfo, char *); + int socks_connect(const char *, const char *, struct addrinfo, + const char *, const char *, struct addrinfo, int, diff --git a/net-analyzer/openbsd-netcat/metadata.xml b/net-analyzer/openbsd-netcat/metadata.xml new file mode 100644 index 000000000000..d78d735c0c83 --- /dev/null +++ b/net-analyzer/openbsd-netcat/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>heroxbd@gentoo.org</email> + <name>Benda Xu</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild b/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild new file mode 100644 index 000000000000..317785048787 --- /dev/null +++ b/net-analyzer/openbsd-netcat/openbsd-netcat-1.218_p5.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV=$(ver_cut 1-2) +DESCRIPTION="The OpenBSD network swiss army knife" +HOMEPAGE="https://cvsweb.openbsd.org/src/usr.bin/nc/ https://salsa.debian.org/debian/netcat-openbsd" +SRC_URI=" + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}.orig.tar.gz + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}-$(ver_cut 4).debian.tar.xz +" +S="${WORKDIR}"/netcat-openbsd-${MY_PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~x64-macos" + +RDEPEND=" + !net-analyzer/netcat + !elibc_Darwin? ( dev-libs/libbsd ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + local i + for i in $(<"${WORKDIR}"/debian/patches/series) ; do + PATCHES+=( "${WORKDIR}"/debian/patches/${i} ) + done + + if [[ ${CHOST} == *-darwin* ]] ; then + # This undoes some of the Debian/Linux changes + PATCHES+=( "${FILESDIR}"/${PN}-1.219-darwin.patch ) + + if [[ ${CHOST##*-darwin} -lt 20 ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.190-darwin13.patch ) + fi + fi + + if use elibc_musl ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.105-musl-b64_ntop.patch ) + fi + + default +} + +src_compile() { + # gnu99 for bug #943711 + emake CC="$(tc-getCC) -std=gnu99" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin nc + doman nc.1 + + cd "${WORKDIR}"/debian || die + newdoc netcat-openbsd.README.Debian README + dodoc -r examples +} + +pkg_postinst() { + if use kernel_linux ; then + ewarn "SO_REUSEPORT is introduced in linux 3.9. If your running kernel is older" + ewarn "and kernel header is newer, nc will not listen correctly. Matching the header" + ewarn "to the running kernel will do. See bug #490246 for details." + fi +} diff --git a/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild b/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild new file mode 100644 index 000000000000..50921666bb3d --- /dev/null +++ b/net-analyzer/openbsd-netcat/openbsd-netcat-1.219_p1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV=$(ver_cut 1-2) +DESCRIPTION="The OpenBSD network swiss army knife" +HOMEPAGE="https://cvsweb.openbsd.org/src/usr.bin/nc/ https://salsa.debian.org/debian/netcat-openbsd" +SRC_URI=" + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}.orig.tar.gz + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}-$(ver_cut 4).debian.tar.xz +" +S="${WORKDIR}"/netcat-openbsd-${MY_PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos" + +RDEPEND=" + !net-analyzer/netcat + !elibc_Darwin? ( dev-libs/libbsd ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + local i + for i in $(<"${WORKDIR}"/debian/patches/series) ; do + PATCHES+=( "${WORKDIR}"/debian/patches/${i} ) + done + + if [[ ${CHOST} == *-darwin* ]] ; then + # This undoes some of the Debian/Linux changes + PATCHES+=( "${FILESDIR}"/${PN}-1.219-darwin.patch ) + + if [[ ${CHOST##*-darwin} -lt 20 ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.190-darwin13.patch ) + fi + fi + + if use elibc_musl ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.105-musl-b64_ntop.patch ) + fi + + default +} + +src_compile() { + # gnu99 for bug #943711 + emake CC="$(tc-getCC) -std=gnu99" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + dobin nc + doman nc.1 + + cd "${WORKDIR}"/debian || die + newdoc netcat-openbsd.README.Debian README + dodoc -r examples +} + +pkg_postinst() { + if use kernel_linux ; then + ewarn "SO_REUSEPORT is introduced in linux 3.9. If your running kernel is older" + ewarn "and kernel header is newer, nc will not listen correctly. Matching the header" + ewarn "to the running kernel will do. See bug #490246 for details." + fi +} diff --git a/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild b/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild new file mode 100644 index 000000000000..ef325c2ba65b --- /dev/null +++ b/net-analyzer/openbsd-netcat/openbsd-netcat-1.234_p1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV=$(ver_cut 1-2) +DESCRIPTION="The OpenBSD network swiss army knife" +HOMEPAGE="https://cvsweb.openbsd.org/src/usr.bin/nc/ https://salsa.debian.org/debian/netcat-openbsd" +SRC_URI=" + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}.orig.tar.gz + mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${MY_PV}-$(ver_cut 4).debian.tar.xz +" +S="${WORKDIR}"/netcat-openbsd-${MY_PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" + +RDEPEND=" + !net-analyzer/netcat + !elibc_Darwin? ( dev-libs/libbsd ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + local i + for i in $(<"${WORKDIR}"/debian/patches/series) ; do + PATCHES+=( "${WORKDIR}"/debian/patches/${i} ) + done + + if [[ ${CHOST} == *-darwin* ]] ; then + # This undoes some of the Debian/Linux changes + PATCHES+=( "${FILESDIR}"/${PN}-1.219-darwin.patch ) + + if [[ ${CHOST##*-darwin} -lt 20 ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.190-darwin13.patch ) + fi + fi + + if use elibc_musl ; then + PATCHES+=( "${FILESDIR}"/${PN}-1.105-musl-b64_ntop.patch ) + fi + + default +} + +src_compile() { + # gnu99 for bug #943711 + emake CC="$(tc-getCC) -std=gnu99" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + dobin nc + doman nc.1 + + cd "${WORKDIR}"/debian || die + newdoc netcat-openbsd.README.Debian README + dodoc -r examples +} + +pkg_postinst() { + if use kernel_linux ; then + ewarn "SO_REUSEPORT is introduced in linux 3.9. If your running kernel is older" + ewarn "and kernel header is newer, nc will not listen correctly. Matching the header" + ewarn "to the running kernel will do. See bug #490246 for details." + fi +} diff --git a/net-analyzer/openvas-scanner/Manifest b/net-analyzer/openvas-scanner/Manifest new file mode 100644 index 000000000000..a0e4f37fb456 --- /dev/null +++ b/net-analyzer/openvas-scanner/Manifest @@ -0,0 +1,2 @@ +DIST openvas-scanner-23.26.1.tar.gz 1617204 BLAKE2B c21c7d82bd1e5d7325422a8e3c467da2caa0cbbd9f44102fbd7aeacc5eafc452676f8f520eda18ad767901a982e937074cb1ff3942217aa63a4f07ceefbfe565 SHA512 67f99e6f35b8afa7aea8384400110d1e5e1f544f5f9c9545e386f6bdb542a76269153075459be3e1c919178967a822243a32147a19b6cbf1d2ea0fd58cafc27a +DIST openvas-scanner-23.40.0.tar.gz 2432069 BLAKE2B 7396a2178a842543db7236f81cb32727f26e75f5e914e472853cb78f7c67ad7daa7b8aa3ab4e727754abfff8d7d7357b08c1453cfd425b30bee1e60cf7c28622 SHA512 f5f486093fd9bcafe793e27122bd2e357d2b77c6c225a08fd0ddf4b7b2f414caf5431bbfa8427dde9a29d65fd9835f308b8650fa87c524b11cfcc402bb867165 diff --git a/net-analyzer/openvas-scanner/files/README.gentoo b/net-analyzer/openvas-scanner/files/README.gentoo new file mode 100644 index 000000000000..16547c23c7b4 --- /dev/null +++ b/net-analyzer/openvas-scanner/files/README.gentoo @@ -0,0 +1,3 @@ +The redis configuration file is located in: +/etc/gvm/redis-openvas.conf +Please apply your changes to the new configuration files. diff --git a/net-analyzer/openvas-scanner/files/openvas-scanner-23.40.0-remove-unworking-tests.patch b/net-analyzer/openvas-scanner/files/openvas-scanner-23.40.0-remove-unworking-tests.patch new file mode 100644 index 000000000000..8715a32e78ff --- /dev/null +++ b/net-analyzer/openvas-scanner/files/openvas-scanner-23.40.0-remove-unworking-tests.patch @@ -0,0 +1,54 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,7 +193,7 @@ configure_file (src/openvas_log_conf.cmake_in src/openvas_log.conf) + enable_testing () + + add_custom_target (tests +- DEPENDS attack-test pcap-test ipc-openvas-test lsc-test) ++ DEPENDS attack-test ipc-openvas-test lsc-test) + + ## Program + +--- a/misc/CMakeLists.txt ++++ b/misc/CMakeLists.txt +@@ -156,6 +156,7 @@ set (ALIVEDETECTION_TEST_LINKER_WRAP_OPTIONS + "-Wl,-wrap,socket,-wrap,setsockopt") + + # pcap-tests ++#[===[ + add_executable (pcap-test EXCLUDE_FROM_ALL pcap_tests.c) + add_test (pcap-test pcap-test) + target_include_directories (pcap-test PRIVATE ${CGREEN_INCLUDE_DIRS}) +@@ -174,7 +175,7 @@ set_tests_properties( + ) + add_custom_target (tests-pcap + DEPENDS pcap-test) +- ++]===] + # ipc-openvas-tests + add_executable (ipc-openvas-test EXCLUDE_FROM_ALL ipc_openvas_tests.c) + add_test (ipc-openvas-test ipc-openvas-test) +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -156,17 +156,17 @@ add_executable (attack-test + + set_target_properties (attack-test PROPERTIES LINKER_LANGUAGE C) + +-target_compile_options(attack-test PRIVATE "-fsanitize=address") +-target_link_options(attack-test PRIVATE "-fsanitize=address") ++#target_compile_options(attack-test PRIVATE "-fsanitize=address") ++#target_link_options(attack-test PRIVATE "-fsanitize=address") + + add_test (attack-test attack-test) +- ++#[===[ + set_tests_properties( + attack-test + PROPERTIES + ENVIRONMENT "ASAN_OPTIONS=detect_leaks=1:halt_on_error=1:abort_on_error=1" + ) +- ++]===] + target_link_libraries (attack-test openvas_nasl_shared cgreen + ${LIBOPENVAS_NASL_LDFLAGS} + ${LIBOPENVAS_MISC_LDFLAGS} diff --git a/net-analyzer/openvas-scanner/files/openvas.conf-22 b/net-analyzer/openvas-scanner/files/openvas.conf-22 new file mode 100644 index 000000000000..b2d964ff4b53 --- /dev/null +++ b/net-analyzer/openvas-scanner/files/openvas.conf-22 @@ -0,0 +1 @@ +db_address = /run/redis-openvas/redis.sock diff --git a/net-analyzer/openvas-scanner/files/openvas.logrotate b/net-analyzer/openvas-scanner/files/openvas.logrotate new file mode 100644 index 000000000000..7d116f6fbbc0 --- /dev/null +++ b/net-analyzer/openvas-scanner/files/openvas.logrotate @@ -0,0 +1,13 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# Daemon ignore HUP so we use 'copytruncate' instead of 'create' +# with safe file size to prevent losing log entries. + +/var/log/gvm/openvas.log { + compress + missingok + notifempty + sharedscripts + copytruncate + maxsize 10M +} diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.confd b/net-analyzer/openvas-scanner/files/redis-openvas.confd new file mode 100644 index 000000000000..6a75dfdc7d28 --- /dev/null +++ b/net-analyzer/openvas-scanner/files/redis-openvas.confd @@ -0,0 +1,20 @@ +# Redis user. +REDIS_USER="gvm" + +# Redis group. +REDIS_GROUP="gvm" + +# Redis configuration file. +REDIS_CONF="/etc/gvm/redis-openvas.conf" + +# Redis dump directory. +REDIS_DIR="/var/lib/openvas/redis" + +# Redis options. +# (Redis expects the first argument to be the configuration file.) +REDIS_OPTS="${REDIS_CONF}" + +# Specify the network service that corresponds to the "bind" setting +# in your redis.conf. For example, if you bind to 127.0.0.1, this should +# be set to "net.lo" which provides the loopback interface. +rc_need="net.lo" diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.initd b/net-analyzer/openvas-scanner/files/redis-openvas.initd new file mode 100644 index 000000000000..0841942eac6d --- /dev/null +++ b/net-analyzer/openvas-scanner/files/redis-openvas.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${REDIS_DIR:=/var/lib/openvas/redis} +: ${REDIS_CONF:=/etc/gvm/redis-openvas.conf} +: ${REDIS_OPTS:="${REDIS_CONF}"} +: ${REDIS_USER:=gvm} +: ${REDIS_GROUP:=gvm} +: ${REDIS_TIMEOUT:=30} + +# https://bugs.gentoo.org/631002#c10 +# Force '--daemonize no' to override the config file +command="/usr/sbin/redis-server" +command_args="${REDIS_OPTS} --daemonize no" +command_background="true" +command_user="${REDIS_USER}:${REDIS_GROUP}" +pidfile="/run/${RC_SVCNAME}/redis-server.pid" +retry="${REDIS_TIMEOUT}" +directory="${REDIS_DIR}" + +start_post() { + checkpath -f --mode 0644 --owner ${REDIS_USER}:${REDIS_GROUP} /var/log/gvm/openvas.log +} + +depend() { + use localmount logger + after keepalived +} diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.service b/net-analyzer/openvas-scanner/files/redis-openvas.service new file mode 100644 index 000000000000..5eb8dd29e287 --- /dev/null +++ b/net-analyzer/openvas-scanner/files/redis-openvas.service @@ -0,0 +1,13 @@ +[Unit] +Description=A persistent key-value database +After=syslog.target network.target +PartOf=gvm.target + +[Service] +Type=forking +PIDFile=/run/redis-openvas/redis-server.pid +ExecStart=/usr/sbin/redis-server /etc/gvm/redis-openvas.conf +User=gvm + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.tmpfiles b/net-analyzer/openvas-scanner/files/redis-openvas.tmpfiles new file mode 100644 index 000000000000..6dea2932cc0b --- /dev/null +++ b/net-analyzer/openvas-scanner/files/redis-openvas.tmpfiles @@ -0,0 +1,2 @@ +# redis runtime directory +d /run/redis-openvas 0755 gvm root - diff --git a/net-analyzer/openvas-scanner/metadata.xml b/net-analyzer/openvas-scanner/metadata.xml new file mode 100644 index 000000000000..135637aa77e1 --- /dev/null +++ b/net-analyzer/openvas-scanner/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="snmp">Build againts <pkg>net-analyzer/net-snmp</pkg> for "improved SNMP support"</flag> + </use> + <longdescription lang="en"> + Open Vulnerability Assessment System (OpenVAS) Scanner is the Greenbone Vulnerability Management (GVM) Solution. + It is used for the Greenbone Security Manager appliances and is a full-featured scan engine that executes a continuously + updated and extended feed of Network Vulnerability Tests (NVTs). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/openvas-scanner/openvas-scanner-23.26.1.ebuild b/net-analyzer/openvas-scanner/openvas-scanner-23.26.1.ebuild new file mode 100644 index 000000000000..65685bbb734a --- /dev/null +++ b/net-analyzer/openvas-scanner/openvas-scanner-23.26.1.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd tmpfiles toolchain-funcs readme.gentoo-r1 optfeature + +MY_DN="openvas" + +DESCRIPTION="Open Vulnerability Assessment Scanner" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/openvas-scanner/" +SRC_URI=" + https://github.com/greenbone/openvas-scanner/archive/v${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="GPL-2 GPL-2+" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc snmp test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + app-crypt/gpgme:= + app-crypt/mit-krb5:= + >=dev-db/redis-5.0.3 + >=dev-libs/glib-2.42:2 + >=dev-libs/libgcrypt-1.6:= + dev-libs/libgpg-error + >=dev-libs/libksba-1.0.7 + dev-libs/libbsd + >=net-libs/libssh-0.6.0:= + >=dev-libs/json-glib-1.4.4 + >=net-analyzer/gvm-libs-22.4 + >=net-libs/gnutls-3.6.4:= + net-libs/libpcap + >=net-misc/curl-7.74.0[ssl] + snmp? ( net-analyzer/net-snmp:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + >=sys-devel/bison-2.5 + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + virtual/pandoc + ) + test? ( dev-libs/cgreen ) +" + +src_prepare() { + cmake_src_prepare + # QA-Fix | Remove -Werror compiler flag + sed -i -e "s/-Werror//" "${S}"/CMakeLists.txt || die #909560 + # QA-Fix | Remove !CLANG doxygen warnings for 7.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi + + #Remove tests that doesn't work in the network sandbox + if use test; then + sed -i 's/add_test (pcap-test pcap-test)/ /g' misc/CMakeLists.txt || die + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DOPENVAS_FEED_LOCK_PATH=${EPREFIX}/var/lib/openvas/feed-update.lock" + "-DOPENVAS_RUN_DIR=/run/ospd" + "-DBUILD_WITH_NETSNMP=$(usex snmp)" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doxygen-full manual + fi + cmake_build rebuild_cache + if use test; then + cmake_build tests + fi +} + +src_install() { + if use doc; then + mv "${BUILD_DIR}"/doc/html "${BUILD_DIR}"/doc/html-manual || die + local HTML_DOCS=( + "${BUILD_DIR}"/doc/generated/html/. + "${BUILD_DIR}"/doc/html-manual + ) + fi + cmake_src_install + + insinto /etc/logrotate.d + newins "${FILESDIR}/${MY_DN}.logrotate" "${MY_DN}" + + # Set proper permissions on required files/directories + keepdir /var/log/gvm + if ! use prefix; then + fowners gvm:gvm /var/log/gvm + fi + + keepdir /var/lib/openvas/{gnupg,plugins} + if ! use prefix; then + fowners -R gvm:gvm /var/lib/openvas + fi + + insinto /etc/openvas + newins "${FILESDIR}/openvas.conf-22" openvas.conf + + systemd_newunit "${FILESDIR}/redis-openvas.service" redis-openvas.service + newtmpfiles "${FILESDIR}/redis-openvas.tmpfiles" redis-openvas.conf + + insinto /etc/gvm + doins config/redis-openvas.conf + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm /etc/gvm/redis-openvas.conf + fi + + fperms 0750 /etc/gvm + fperms 0640 /etc/gvm/redis-openvas.conf + + newconfd "${FILESDIR}/redis-openvas.confd" redis-openvas + newinitd "${FILESDIR}/redis-openvas.initd" redis-openvas + + if use prefix; then + diropts -m0750 + else + diropts -m0750 -o gvm -g gvm + fi + keepdir /var/lib/openvas/redis + + readme.gentoo_create_doc +} + +pkg_postinst() { + tmpfiles_process redis-openvas.conf + optfeature "port scanner" net-analyzer/nmap + readme.gentoo_print_elog +} diff --git a/net-analyzer/openvas-scanner/openvas-scanner-23.40.0.ebuild b/net-analyzer/openvas-scanner/openvas-scanner-23.40.0.ebuild new file mode 100644 index 000000000000..f3e5a9725103 --- /dev/null +++ b/net-analyzer/openvas-scanner/openvas-scanner-23.40.0.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd tmpfiles toolchain-funcs greadme optfeature + +MY_DN="openvas" + +DESCRIPTION="Open Vulnerability Assessment Scanner" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/openvas-scanner/" +SRC_URI=" + https://github.com/greenbone/openvas-scanner/archive/v${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="GPL-2 GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc snmp test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + app-crypt/gpgme:= + app-crypt/mit-krb5:= + >=dev-db/redis-5.0.3 + >=dev-libs/glib-2.42:2 + >=dev-libs/libgcrypt-1.6:= + dev-libs/libgpg-error + >=dev-libs/libksba-1.0.7 + dev-libs/libbsd + >=net-libs/libssh-0.6.0:= + >=dev-libs/json-glib-1.4.4 + >=net-analyzer/gvm-libs-22.4 + >=net-libs/gnutls-3.6.4:= + net-libs/libpcap + >=net-misc/curl-7.74.0[ssl] + snmp? ( net-analyzer/net-snmp:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + >=sys-devel/bison-2.5 + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + virtual/pandoc + ) + test? ( dev-libs/cgreen ) +" + +PATCHES=( + # Remove tests that don't work in the network sandbox + "${FILESDIR}/${P}-remove-unworking-tests.patch" +) + +src_prepare() { + cmake_src_prepare + # QA-Fix | Remove -Werror compiler flag + sed -i -e "s/-Werror//" "${S}"/CMakeLists.txt || die #909560 + # QA-Fix | Remove !CLANG doxygen warnings for 7.0.0 + if use doc; then + if ! tc-is-clang; then + local f + for f in doc/*.in + do + sed -i \ + -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ + -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ + "${f}" || die "couldn't disable CLANG parsing" + done + fi + fi +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DOPENVAS_FEED_LOCK_PATH=${EPREFIX}/var/lib/openvas/feed-update.lock" + "-DOPENVAS_RUN_DIR=/run/ospd" + "-DBUILD_WITH_NETSNMP=$(usex snmp)" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doxygen-full manual + fi + cmake_build rebuild_cache + if use test; then + cmake_build tests + fi +} + +src_install() { + if use doc; then + mv "${BUILD_DIR}"/doc/html "${BUILD_DIR}"/doc/html-manual || die + local HTML_DOCS=( + "${BUILD_DIR}"/doc/generated/html/. + "${BUILD_DIR}"/doc/html-manual + ) + fi + cmake_src_install + + insinto /etc/logrotate.d + newins "${FILESDIR}/${MY_DN}.logrotate" "${MY_DN}" + + # Set proper permissions on required files/directories + keepdir /var/log/gvm + if ! use prefix; then + fowners gvm:gvm /var/log/gvm + fi + + keepdir /var/lib/openvas/{gnupg,plugins} + if ! use prefix; then + fowners -R gvm:gvm /var/lib/openvas + fi + + insinto /etc/openvas + newins "${FILESDIR}/openvas.conf-22" openvas.conf + + systemd_newunit "${FILESDIR}/redis-openvas.service" redis-openvas.service + newtmpfiles "${FILESDIR}/redis-openvas.tmpfiles" redis-openvas.conf + + insinto /etc/gvm + doins config/redis-openvas.conf + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm /etc/gvm/redis-openvas.conf + fi + + fperms 0750 /etc/gvm + fperms 0640 /etc/gvm/redis-openvas.conf + + newconfd "${FILESDIR}/redis-openvas.confd" redis-openvas + newinitd "${FILESDIR}/redis-openvas.initd" redis-openvas + + if use prefix; then + diropts -m0750 + else + diropts -m0750 -o gvm -g gvm + fi + keepdir /var/lib/openvas/redis + + greadme_file "${FILESDIR}/README.gentoo" +} + +pkg_postinst() { + tmpfiles_process redis-openvas.conf + optfeature "port scanner" net-analyzer/nmap + greadme_pkg_postinst +} diff --git a/net-analyzer/opsgenie-lamp/Manifest b/net-analyzer/opsgenie-lamp/Manifest new file mode 100644 index 000000000000..f5e3b547bec3 --- /dev/null +++ b/net-analyzer/opsgenie-lamp/Manifest @@ -0,0 +1 @@ +DIST opsgenie-lamp-3.1.4.tar.gz 994564 BLAKE2B bbc8801b9943eb57bd784ddd7a8f2631e0879c88b6760b9759dc37d95149dbc2c7013544c481f69cd4272bb19eca2df537a5d4a60acd56d5b70a88ad4449fbc8 SHA512 e5770d0188d9e8ef9d9c24f2cc3d160bca75732fff8c6bd1a694f18c604a1c85303b803817c15f461358521eafee029e86475c2f11177c719e173eaf18f4d5c1 diff --git a/net-analyzer/opsgenie-lamp/metadata.xml b/net-analyzer/opsgenie-lamp/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/net-analyzer/opsgenie-lamp/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/opsgenie-lamp/opsgenie-lamp-3.1.4.ebuild b/net-analyzer/opsgenie-lamp/opsgenie-lamp-3.1.4.ebuild new file mode 100644 index 000000000000..5f53acd66c72 --- /dev/null +++ b/net-analyzer/opsgenie-lamp/opsgenie-lamp-3.1.4.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="command line client for the opsgenie service" +HOMEPAGE="https://docs.opsgenie.com/docs/lamp-command-line-interface-for-opsgenie" +SRC_URI="https://github.com/opsgenie/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# yes, CHANEGLOG.md is a typo in the source +DOCS=( CHANEGLOG.md README.md ) + +src_compile() { + ego build -mod=vendor +} + +src_install() { + newbin ${PN} lamp + dodoc conf/lamp.conf + einstalldocs +} diff --git a/net-analyzer/ospd-openvas/Manifest b/net-analyzer/ospd-openvas/Manifest new file mode 100644 index 000000000000..d1056bf87751 --- /dev/null +++ b/net-analyzer/ospd-openvas/Manifest @@ -0,0 +1,2 @@ +DIST ospd-openvas-22.10.1.tar.gz 256447 BLAKE2B e1d695440bea8386ec823d3091a1612e4158f590d78adeed8651a1701724ddff6362ac185302f7fd3f3e1436b23c8306ed03148da6d195d8e3ec0a5a5dae15ab SHA512 4764b7939d85333250d44b5a7c93228866865281b73e6e3317486ea5d483c607428e28449e9d56f787a91e9b0bf331dd0520989c2c785c63f7afbfe6929876b3 +DIST ospd-openvas-22.9.0.tar.gz 250165 BLAKE2B 4e82df9902dcd10bcfa0cf6024875025ad78d8811da25b1b25d5d188b1b2e69243e7e5141199d82f845da70f7544bf2f87166d1e0fdefe91055c0bf3e5c037cf SHA512 5bbfadd1b5a75a0b0a44c1382d730cea824f66bfe22d33cc263328ff633f4ac1d39c1dc1416ecab5d06a5c8b47fa8241debac48baff98a4c2a305e0942d9b07f diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas-22.confd b/net-analyzer/ospd-openvas/files/ospd-openvas-22.confd new file mode 100644 index 000000000000..dbe9d762dae0 --- /dev/null +++ b/net-analyzer/ospd-openvas/files/ospd-openvas-22.confd @@ -0,0 +1,4 @@ +# OpenVAS Scanner command args + +# e.g --foreground +OSPD_OPENVAS_OPTIONS="" diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd b/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd new file mode 100644 index 000000000000..d8ef2f27c214 --- /dev/null +++ b/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd @@ -0,0 +1,24 @@ +#!/sbin/openrc-run +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${GVM_USER:=gvm} +: ${GVM_GROUP:=$(id -ng ${GVM_USER})} +: ${OSPD_TIMEOUT:=30} + +name="remotely control an OpenVAS Scanner" +command=/usr/bin/ospd-openvas +command_user="${GVM_USER}:${GVM_GROUP}" +command_args="${OSPD_OPENVAS_OPTIONS} \ + --config /etc/gvm/ospd-openvas.conf" +pidfile=/run/ospd/ospd-openvas.pid +retry="${OSPD_TIMEOUT}" + +depend() { + after bootmisc redis-openvas + need localmount redis-openvas +} + +start_pre() { + checkpath -d --owner ${GVM_USER} /var/run/ospd +} diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas.logrotate b/net-analyzer/ospd-openvas/files/ospd-openvas.logrotate new file mode 100644 index 000000000000..7fed1aa23437 --- /dev/null +++ b/net-analyzer/ospd-openvas/files/ospd-openvas.logrotate @@ -0,0 +1,13 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# Daemon ignore HUP so we use 'copytruncate' instead of 'create' +# with safe file size to prevent losing log entries. + +/var/log/gvm/ospd-openvas.log { + compress + missingok + notifempty + sharedscripts + copytruncate + maxsize 10M +} diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas.service.conf b/net-analyzer/ospd-openvas/files/ospd-openvas.service.conf new file mode 100644 index 000000000000..976d81bc72bc --- /dev/null +++ b/net-analyzer/ospd-openvas/files/ospd-openvas.service.conf @@ -0,0 +1,7 @@ +[Unit] +After=network.target networking.service redis-openvas.service mosquitto.service +Wants=redis-openvas.service +PartOf=gvm.target + +[Service] +ExecStartPre=+setfacl -m u:gvm:rw /run/redis-openvas/redis.sock diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas.service_notus.conf b/net-analyzer/ospd-openvas/files/ospd-openvas.service_notus.conf new file mode 100644 index 000000000000..cd8b7d8d0e70 --- /dev/null +++ b/net-analyzer/ospd-openvas/files/ospd-openvas.service_notus.conf @@ -0,0 +1,9 @@ +[Unit] +After=network.target networking.service redis-openvas.service mosquitto.service +Wants=redis-openvas.service +PartOf=gvm.target + +[Service] +ExecStartPre=+setfacl -m u:gvm:rw /run/redis-openvas/redis.sock +ExecStart= +ExecStart=/usr/bin/ospd-openvas --config /etc/gvm/ospd-openvas.conf --log-config /etc/gvm/ospd-logging.conf --lock-file-dir /var/lib/openvas --socket-mode 0o770 --mqtt-broker-address localhost --mqtt-broker-port 1883 --notus-feed-dir /var/lib/notus/advisories diff --git a/net-analyzer/ospd-openvas/metadata.xml b/net-analyzer/ospd-openvas/metadata.xml new file mode 100644 index 000000000000..27ff18fa40c7 --- /dev/null +++ b/net-analyzer/ospd-openvas/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + This is an OSP server implementation to allow GVM to remotely control OpenVAS. + Once running, you need to configure OpenVAS for the Greenbone Vulnerability Manager, for example via the web interface Greenbone Security Assistant. Then you can create scan tasks to use OpenVAS. + </longdescription> + <use> + <flag name="notus">Set systemd service file to use notus-scanner</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ospd-openvas/ospd-openvas-22.10.1.ebuild b/net-analyzer/ospd-openvas/ospd-openvas-22.10.1.ebuild new file mode 100644 index 000000000000..1c99792f0e80 --- /dev/null +++ b/net-analyzer/ospd-openvas/ospd-openvas-22.10.1.ebuild @@ -0,0 +1,86 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 systemd + +DESCRIPTION="This is an OSP server implementation to allow GVM to remotely control OpenVAS" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/ospd-openvas" +SRC_URI="https://github.com/greenbone/ospd-openvas/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+ GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc +notus" + +DEPEND=" + acct-user/gvm + >=dev-python/defusedxml-0.6[${PYTHON_USEDEP}] + >=dev-python/deprecated-1.2.10[${PYTHON_USEDEP}] + >=dev-python/lxml-4.5.2[${PYTHON_USEDEP}] + <dev-python/lxml-7.0.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/psutil-5.5.1[${PYTHON_USEDEP}] + <dev-python/psutil-8.0.0[${PYTHON_USEDEP}] + >=dev-python/redis-4.5.0[${PYTHON_USEDEP}] + >=dev-python/python-gnupg-0.4.8[${PYTHON_USEDEP}] + <dev-python/python-gnupg-0.6.0[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.6[${PYTHON_USEDEP}] + <dev-python/paho-mqtt-3[${PYTHON_USEDEP}] + net-libs/paho-mqtt-c + app-misc/mosquitto +" +RDEPEND=" + ${DEPEND} + app-admin/sudo + >=net-analyzer/openvas-scanner-22.4 + notus? ( >=net-analyzer/notus-scanner-22.4 ) +" + +distutils_enable_tests unittest + +python_compile() { + if use doc; then + bash "${S}"/docs/generate || die + HTML_DOCS=( "${S}"/docs/. ) + fi + distutils-r1_python_compile +} + +python_install() { + distutils-r1_python_install + + insinto /etc/gvm + doins config/${PN}.conf + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fi + + newinitd "${FILESDIR}/${PN}-22.initd" "${PN}" + newconfd "${FILESDIR}/${PN}-22.confd" "${PN}" + + systemd_dounit config/${PN}.service + + if use notus; then + systemd_install_serviced "${FILESDIR}/ospd-openvas.service_notus.conf" \ + ${PN}.service + else + systemd_install_serviced "${FILESDIR}/ospd-openvas.service.conf" \ + ${PN}.service + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}/ospd-openvas.logrotate" ospd-openvas + + # OSPD OpenVAS attempts to call openvas via sudo as network security + # scanning often requires priviliged operations. + insinto /etc/sudoers.d + newins - openvas <<-EOF + gvm ALL = NOPASSWD: /usr/bin/openvas +EOF + fperms 0750 /etc/sudoers.d + fperms 0440 /etc/sudoers.d/openvas +} diff --git a/net-analyzer/ospd-openvas/ospd-openvas-22.9.0.ebuild b/net-analyzer/ospd-openvas/ospd-openvas-22.9.0.ebuild new file mode 100644 index 000000000000..8f3b8caa578f --- /dev/null +++ b/net-analyzer/ospd-openvas/ospd-openvas-22.9.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry +inherit distutils-r1 systemd + +DESCRIPTION="This is an OSP server implementation to allow GVM to remotely control OpenVAS" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/ospd-openvas" +SRC_URI="https://github.com/greenbone/ospd-openvas/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3+ GPL-2+" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc +notus" + +DEPEND=" + acct-user/gvm + >=dev-python/defusedxml-0.6[${PYTHON_USEDEP}] + >=dev-python/deprecated-1.2.10[${PYTHON_USEDEP}] + >=dev-python/lxml-4.5.2[${PYTHON_USEDEP}] + <dev-python/lxml-7.0.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/psutil-5.5.1[${PYTHON_USEDEP}] + <dev-python/psutil-8.0.0[${PYTHON_USEDEP}] + >=dev-python/redis-4.5.0[${PYTHON_USEDEP}] + >=dev-python/python-gnupg-0.4.8[${PYTHON_USEDEP}] + <dev-python/python-gnupg-0.6.0[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.6[${PYTHON_USEDEP}] + <dev-python/paho-mqtt-3[${PYTHON_USEDEP}] + net-libs/paho-mqtt-c + app-misc/mosquitto +" +RDEPEND=" + ${DEPEND} + app-admin/sudo + >=net-analyzer/openvas-scanner-22.4 + notus? ( >=net-analyzer/notus-scanner-22.4 ) +" + +distutils_enable_tests unittest + +python_compile() { + if use doc; then + bash "${S}"/docs/generate || die + HTML_DOCS=( "${S}"/docs/. ) + fi + distutils-r1_python_compile +} + +python_install() { + distutils-r1_python_install + + insinto /etc/gvm + doins config/${PN}.conf + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fi + + newinitd "${FILESDIR}/${PN}-22.initd" "${PN}" + newconfd "${FILESDIR}/${PN}-22.confd" "${PN}" + + systemd_dounit config/${PN}.service + + if use notus; then + systemd_install_serviced "${FILESDIR}/ospd-openvas.service_notus.conf" \ + ${PN}.service + else + systemd_install_serviced "${FILESDIR}/ospd-openvas.service.conf" \ + ${PN}.service + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}/ospd-openvas.logrotate" ospd-openvas + + # OSPD OpenVAS attempts to call openvas via sudo as network security + # scanning often requires priviliged operations. + insinto /etc/sudoers.d + newins - openvas <<-EOF + gvm ALL = NOPASSWD: /usr/bin/openvas +EOF + fperms 0750 /etc/sudoers.d + fperms 0440 /etc/sudoers.d/openvas +} diff --git a/net-analyzer/ossec-hids/Manifest b/net-analyzer/ossec-hids/Manifest new file mode 100644 index 000000000000..a88003bb41c7 --- /dev/null +++ b/net-analyzer/ossec-hids/Manifest @@ -0,0 +1 @@ +DIST ossec-hids-3.6.0.tar.gz 1921753 BLAKE2B ca33a94d09265c94dbdb99e2b9637d1e062f39ab88837a5c8f089d64a6369c1bef1e010b18ac4713cd4965dcf189bb1c2866fd33813cd94ae34ac04182070580 SHA512 1f5e897de757df264dfb56def74b7d8f886b6b9d772b5b3d0197c9cd00a32fd7fd8a7b53566851fea3cd74d433b5594cbd074e50b7dbe36305fb3c243e8ddcf5 diff --git a/net-analyzer/ossec-hids/files/gcc-fno-common-3.6.0.patch b/net-analyzer/ossec-hids/files/gcc-fno-common-3.6.0.patch new file mode 100644 index 000000000000..e8ed3c66dd9e --- /dev/null +++ b/net-analyzer/ossec-hids/files/gcc-fno-common-3.6.0.patch @@ -0,0 +1,402 @@ +diff --git a/src/addagent/main.c b/src/addagent/main.c +index 587a8a3d8..ab12f0326 100644 +--- a/src/addagent/main.c ++++ b/src/addagent/main.c +@@ -17,6 +17,7 @@ static void print_banner(void); + static void manage_shutdown(int sig) __attribute__((noreturn)); + #endif + ++int willchroot; + + #if defined(__MINGW32__) + static int setenv(const char *name, const char *val, __attribute__((unused)) int overwrite) +diff --git a/src/addagent/manage_agents.c b/src/addagent/manage_agents.c +index ac39c1e66..4f9c266ff 100644 +--- a/src/addagent/manage_agents.c ++++ b/src/addagent/manage_agents.c +@@ -85,6 +85,8 @@ int add_agent(int json_output) + + char authfile[257]; + ++ extern int willchroot; ++ + if(willchroot > 0) { + snprintf(authfile, 256, "%s", AUTH_FILE); //XXX + } else { +diff --git a/src/addagent/manage_agents.h b/src/addagent/manage_agents.h +index 4812dba43..f2962e80b 100644 +--- a/src/addagent/manage_agents.h ++++ b/src/addagent/manage_agents.h +@@ -147,4 +147,4 @@ extern fpos_t fp_pos; + #define GMF_UNKN_ERROR ARGV0 ": Could not run GetModuleFileName which returned (%ld).\n" + + +-int willchroot; ++//int willchroot; +diff --git a/src/addagent/manage_keys.c b/src/addagent/manage_keys.c +index 146b48326..ffb9a1f21 100644 +--- a/src/addagent/manage_keys.c ++++ b/src/addagent/manage_keys.c +@@ -336,6 +336,8 @@ int k_bulkload(const char *cmdbulk) + char delims[] = ","; + char *token = NULL; + ++ extern int willchroot; ++ + /* Check if we can open the input file */ + printf("Opening: [%s]\n", cmdbulk); + infp = fopen(cmdbulk, "r"); +diff --git a/src/analysisd/analysisd.c b/src/analysisd/analysisd.c +index a220f4421..0a81971de 100644 +--- a/src/analysisd/analysisd.c ++++ b/src/analysisd/analysisd.c +@@ -42,7 +42,12 @@ + #endif + + #ifdef SQLITE_ENABLED +-#include "syscheck-sqlite.h" ++#include <sqlite3.h> ++sqlite3 *conn; ++#endif ++ ++#ifdef LIBGEOIP_ENABLED ++GeoIP *geoipdb; + #endif + + /** Prototypes **/ +diff --git a/src/analysisd/config.h b/src/analysisd/config.h +index 8d74c756e..976d1942e 100644 +--- a/src/analysisd/config.h ++++ b/src/analysisd/config.h +@@ -12,6 +12,7 @@ + + #include "config/config.h" + #include "config/global-config.h" ++ + #ifdef LIBGEOIP_ENABLED + #include "GeoIP.h" + #endif +@@ -20,9 +21,11 @@ + extern long int __crt_ftell; /* Global ftell pointer */ + extern _Config Config; /* Global Config structure */ + ++/* + #ifdef LIBGEOIP_ENABLED + GeoIP *geoipdb; + #endif ++*/ + + int GlobalConf(const char *cfgfile); + +diff --git a/src/analysisd/decoders/geoip.c b/src/analysisd/decoders/geoip.c +index 464e4bb71..9816b4c81 100644 +--- a/src/analysisd/decoders/geoip.c ++++ b/src/analysisd/decoders/geoip.c +@@ -30,6 +30,7 @@ char *GetGeoInfobyIP(char *ip_addr) + GeoIPRecord *geoiprecord; + char *geodata = NULL; + char geobuffer[256 +1]; ++ extern GeoIP *geoipdb; + + if(!geoipdb) + { +diff --git a/src/analysisd/decoders/syscheck.c b/src/analysisd/decoders/syscheck.c +index a6d675892..30339a00d 100644 +--- a/src/analysisd/decoders/syscheck.c ++++ b/src/analysisd/decoders/syscheck.c +@@ -16,7 +16,7 @@ + #include "decoder.h" + + #ifdef SQLITE_ENABLED +-#include "syscheck-sqlite.h" ++#include <sqlite3.h> + #endif + + typedef struct __sdb { +diff --git a/src/analysisd/makelists.c b/src/analysisd/makelists.c +index 06c90db70..dfbe6a4a3 100644 +--- a/src/analysisd/makelists.c ++++ b/src/analysisd/makelists.c +@@ -32,6 +32,10 @@ time_t c_time; + char __shost[512]; + OSDecoderInfo *NULL_Decoder; + ++#ifdef LIBGEOIP_ENABLED ++GeoIP *geoipdb; ++#endif ++ + /* print help statement */ + __attribute__((noreturn)) + static void help_makelists(void) +diff --git a/src/analysisd/syscheck-sqlite.h b/src/analysisd/syscheck-sqlite.h +deleted file mode 100644 +index 526cab26e..000000000 +--- a/src/analysisd/syscheck-sqlite.h ++++ /dev/null +@@ -1,5 +0,0 @@ +-#ifdef SQLITE_ENABLED +-#include <sqlite3.h> +- +-sqlite3 *conn; +-#endif +diff --git a/src/analysisd/testrule.c b/src/analysisd/testrule.c +index c08fb4885..b1aa928f7 100644 +--- a/src/analysisd/testrule.c ++++ b/src/analysisd/testrule.c +@@ -83,6 +83,7 @@ int main(int argc, char **argv) + memset(prev_month, '\0', 4); + + #ifdef LIBGEOIP_ENABLED ++ extern GeoIP *geoipdb; + geoipdb = NULL; + #endif + +diff --git a/src/client-agent/agentd.c b/src/client-agent/agentd.c +index c09cf87d3..67828e79c 100644 +--- a/src/client-agent/agentd.c ++++ b/src/client-agent/agentd.c +@@ -23,6 +23,8 @@ void AgentdStart(const char *dir, int uid, int gid, const char *user, const char + fd_set fdset; + struct timeval fdtimeout; + ++ extern agent *agt; ++ + available_server = 0; + + /* Initial random numbers must happen before chroot */ +diff --git a/src/client-agent/agentd.h b/src/client-agent/agentd.h +index 0246a5457..a362ff9a3 100644 +--- a/src/client-agent/agentd.h ++++ b/src/client-agent/agentd.h +@@ -81,9 +81,9 @@ void os_agent_cb(int fd, short ev, void *arg); + extern time_t available_server; + extern int run_foreground; + extern keystore keys; +-extern agent *agt; ++//extern agent *agt; + #ifndef WIN32 +-struct imsgbuf server_ibuf; ++//struct imsgbuf server_ibuf; + #endif //WIN32 + + #endif /* __AGENTD_H */ +diff --git a/src/client-agent/event-forward.c b/src/client-agent/event-forward.c +index 2e81f0c90..22ed0beb9 100644 +--- a/src/client-agent/event-forward.c ++++ b/src/client-agent/event-forward.c +@@ -19,6 +19,9 @@ + /* Receive a message locally on the agent and forward it to the manager */ + void *EventForward(void) + { ++ ++ extern agent *agt; ++ + ssize_t recv_b; + char msg[OS_MAXSTR + 1]; + +diff --git a/src/client-agent/main.c b/src/client-agent/main.c +index 5f85cfb73..01c18970c 100644 +--- a/src/client-agent/main.c ++++ b/src/client-agent/main.c +@@ -16,7 +16,8 @@ + #define ARGV0 "ossec-agentd" + #endif + +-extern struct imsgbuf server_ibuf; ++//extern struct imsgbuf server_ibuf; ++struct imsgbuf server_ibuf; + + + /* Prototypes */ +@@ -112,6 +113,8 @@ int main(int argc, char **argv) + + debug1(STARTED_MSG, ARGV0); + ++ extern agent *agt; ++ + agt = (agent *)calloc(1, sizeof(agent)); + if (!agt) { + ErrorExit(MEM_ERROR, ARGV0, errno, strerror(errno)); +diff --git a/src/client-agent/notify.c b/src/client-agent/notify.c +index 1b239f26c..93fec325c 100644 +--- a/src/client-agent/notify.c ++++ b/src/client-agent/notify.c +@@ -68,6 +68,8 @@ void run_notify() + os_md5 md5sum; + time_t curr_time; + ++ extern agent *agt; ++ + keep_alive_random[0] = '\0'; + curr_time = time(0); + +diff --git a/src/client-agent/receiver-win.c b/src/client-agent/receiver-win.c +index 859bdf7f9..4ab62ee77 100644 +--- a/src/client-agent/receiver-win.c ++++ b/src/client-agent/receiver-win.c +@@ -19,6 +19,7 @@ + /* Receive events from the server */ + void *receiver_thread(__attribute__((unused)) void *none) + { ++ extern agent *agt; + int recv_b; + + char file[OS_SIZE_1024 + 1]; +diff --git a/src/client-agent/receiver.c b/src/client-agent/receiver.c +index fde64c282..5286e60dc 100644 +--- a/src/client-agent/receiver.c ++++ b/src/client-agent/receiver.c +@@ -29,6 +29,8 @@ void *receive_msg() + char cleartext[OS_MAXSTR + 1]; + char *tmp_msg; + ++ extern agent *agt; ++ + memset(cleartext, '\0', OS_MAXSTR + 1); + memset(buffer, '\0', OS_MAXSTR + 1); + +diff --git a/src/client-agent/sendmsg.c b/src/client-agent/sendmsg.c +index 454c2e714..3076dfcf9 100644 +--- a/src/client-agent/sendmsg.c ++++ b/src/client-agent/sendmsg.c +@@ -15,6 +15,9 @@ + /* Send a message to the server */ + int send_msg(int agentid, const char *msg) + { ++ ++ extern agent *agt; ++ + size_t msg_size; + char crypt_msg[OS_MAXSTR + 1]; + +diff --git a/src/client-agent/start_agent.c b/src/client-agent/start_agent.c +index 51670cee5..f1df43715 100644 +--- a/src/client-agent/start_agent.c ++++ b/src/client-agent/start_agent.c +@@ -24,6 +24,9 @@ int connect_server(int initial_id) + #ifdef WIN32 + unsigned int attempts = 2; + #endif //WIN32 ++ ++ extern agent *agt; ++ + int rc = initial_id; + + /* Checking if the initial is zero, meaning we have to +@@ -139,6 +142,8 @@ void start_agent(int is_startup) + char cleartext[OS_MAXSTR + 1]; + char fmsg[OS_MAXSTR + 1]; + ++ extern agent *agt; ++ + memset(msg, '\0', OS_MAXSTR + 2); + memset(buffer, '\0', OS_MAXSTR + 1); + memset(cleartext, '\0', OS_MAXSTR + 1); +@@ -241,6 +246,8 @@ void os_agent_cb(int fd, short ev, void *arg) { + struct imsg imsg; + struct imsgbuf *ibuf = (struct imsgbuf *)arg; + ++ extern agent *agt; ++ + if (ev & EV_READ) { + if ((n = imsg_read(ibuf) == -1 && errno != EAGAIN)) { + ErrorExit("%s: ERROR: imsg_read() failed: %s", ARGV0, strerror(errno)); +diff --git a/src/os_net/os_net.c b/src/os_net/os_net.c +index f18e3be77..756e9fac8 100644 +--- a/src/os_net/os_net.c ++++ b/src/os_net/os_net.c +@@ -14,7 +14,7 @@ + #include <errno.h> + #include "shared.h" + #include "os_net.h" +-agent *agt; ++agent *os_net_agt; + + /* Prototypes */ + static OSNetInfo *OS_Bindport(char *_port, unsigned int _proto, const char *_ip); +@@ -346,11 +346,11 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip) + return(OS_INVALID); + } + +- if (agt) { +- if (agt->lip) { ++ if (os_net_agt) { ++ if (os_net_agt->lip) { + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_flags = AI_NUMERICHOST; +- s = getaddrinfo(agt->lip, NULL, &hints, &result); ++ s = getaddrinfo(os_net_agt->lip, NULL, &hints, &result); + if (s != 0) { + verbose("getaddrinfo: %s", gai_strerror(s)); + } +@@ -363,8 +363,8 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip) + memset(&hints, 0, sizeof(struct addrinfo)); + /* Allow IPv4 or IPv6 if local_ip isn't specified */ + hints.ai_family = AF_UNSPEC; +- if (agt) { +- if (agt->lip) { ++ if (os_net_agt) { ++ if (os_net_agt->lip) { + hints.ai_family = local_ai->ai_family; + } + } +@@ -398,13 +398,13 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip) + continue; + } + +- if (agt) { +- if (agt->lip) { ++ if (os_net_agt) { ++ if (os_net_agt->lip) { + if (bind(ossock, local_ai->ai_addr, local_ai->ai_addrlen)) { + verbose("Unable to bind to local address %s. Ignoring. (%s)", +- agt->lip, strerror(errno)); ++ os_net_agt->lip, strerror(errno)); + } +- else verbose("Connecting from local address %s", agt->lip); ++ else verbose("Connecting from local address %s", os_net_agt->lip); + } + } + +diff --git a/src/os_net/os_net.h b/src/os_net/os_net.h +index 9b7250928..3aaf00429 100644 +--- a/src/os_net/os_net.h ++++ b/src/os_net/os_net.h +@@ -13,7 +13,7 @@ + + #include "headers/shared.h" + #include "config/client-config.h" +-extern agent *agt; ++extern agent *os_net_agt; + #ifdef WIN32 + #ifndef AI_ADDRCONFIG + #define AI_ADDRCONFIG 0x0400 +diff --git a/src/win32/win_agent.c b/src/win32/win_agent.c +index 40a37e621..a2ec784f2 100644 +--- a/src/win32/win_agent.c ++++ b/src/win32/win_agent.c +@@ -124,6 +124,7 @@ int local_start() + WSADATA wsaData; + DWORD threadID; + DWORD threadID2; ++ extern agent *agt; + + /* Start agent */ + agt = (agent *)calloc(1, sizeof(agent)); +@@ -271,6 +272,7 @@ int SendMSG(__attribute__((unused)) int queue, const char *message, const char * + char tmpstr[OS_MAXSTR + 2]; + char crypt_msg[OS_MAXSTR + 2]; + DWORD dwWaitResult; ++ extern agent *agt; + + tmpstr[OS_MAXSTR + 1] = '\0'; + crypt_msg[OS_MAXSTR + 1] = '\0'; +@@ -468,6 +470,8 @@ void send_win32_info(time_t curr_time) + tmp_msg[OS_MAXSTR + 1] = '\0'; + crypt_msg[OS_MAXSTR + 1] = '\0'; + ++ extern agent *agt; ++ + debug1("%s: DEBUG: Sending keep alive message.", ARGV0); + + /* Fix time */ diff --git a/net-analyzer/ossec-hids/files/makefile-3.6.0.patch b/net-analyzer/ossec-hids/files/makefile-3.6.0.patch new file mode 100644 index 000000000000..810bc077d438 --- /dev/null +++ b/net-analyzer/ossec-hids/files/makefile-3.6.0.patch @@ -0,0 +1,28 @@ +--- a/Makefile 2019-03-09 16:33:13.465947636 +0100 ++++ b/Makefile 2019-03-09 16:32:57.105946856 +0100 +@@ -370,7 +370,6 @@ + install-server: install-server-generic + + install-common: build +- ./init/adduser.sh ${OSSEC_USER} ${OSSEC_USER_MAIL} ${OSSEC_USER_REM} ${OSSEC_GROUP} ${PREFIX} + $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/ + $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs + $(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/ossec.log +@@ -1160,7 +1159,7 @@ + #### test ########## + #################### + +-CFLAGS_TEST = -g -O0 --coverage ++CFLAGS_TEST = -g -O0 + + LDFLAGS_TEST = -lcheck -lm -pthread -lrt + +@@ -1171,7 +1170,7 @@ + + test_programs = test_os_zlib test_os_xml test_os_regex test_os_crypto test_shared + +-.PHONY: test run_tests build_tests test_valgrind test_coverage ++.PHONY: test run_tests build_tests test_valgrind + + test: build_tests + ${MAKE} run_tests diff --git a/net-analyzer/ossec-hids/metadata.xml b/net-analyzer/ossec-hids/metadata.xml new file mode 100644 index 000000000000..2ad5ca2037fd --- /dev/null +++ b/net-analyzer/ossec-hids/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + OSSEC is a full platform to monitor and control your systems. It mixes + together all the aspects of HIDS (host-based intrusion detection), log + monitoring and SIM/SIEM together in a simple, powerful and open source + solution. + To determine which build target (agent, server, hybrid or local) best + suits your needs, please visit https://www.ossec.net/ and review the + documentation provided there. + </longdescription> + <use> + <flag name="agent">Build "agent" installation target (see package description)</flag> + <flag name="hybrid">Build "hybrid" installation target</flag> + <flag name="local">Build "local" installation target</flag> + <flag name="server">Build "server" installation target</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ossec-hids/ossec-hids-3.6.0.ebuild b/net-analyzer/ossec-hids/ossec-hids-3.6.0.ebuild new file mode 100644 index 000000000000..f77d99e03354 --- /dev/null +++ b/net-analyzer/ossec-hids/ossec-hids-3.6.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Open Source Host-based Intrusion Detection System" +HOMEPAGE="https://www.ossec.net/" +SRC_URI="https://github.com/ossec/ossec-hids/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="agent hybrid local mysql postgres server sqlite test" +REQUIRED_USE="^^ ( agent hybrid local server ) + ?? ( mysql postgres )" +RESTRICT="!test? ( test )" + +RDEPEND="acct-user/ossec + acct-user/ossecm + acct-user/ossecr + dev-libs/libevent + dev-libs/libpcre2[jit] + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + sqlite? ( dev-db/sqlite:3 )" +DEPEND="${RDEPEND} + test? ( + dev-libs/check + dev-python/python-subunit + )" +S="${WORKDIR}/${P}/src" + +declare -a MY_OPT + +src_prepare() { + # Patch for the GCC version 10 -fno-common change. See + # https://github.com/ossec/ossec-hids/pull/1875 + eapply -p2 "${FILESDIR}/gcc-fno-common-${PV}.patch" + eapply -p1 "${FILESDIR}/makefile-${PV}.patch" + eapply_user +} + +src_configure() { + local target="local" + use agent && target="agent" + use hybrid && target="hybrid" + use server && target="server" + MY_OPT=( + PCRE2_SYSTEM=yes + TARGET=${target} + USE_SQLITE=$(usex sqlite) + V=0 + ZLIB_SYSTEM=yes + ) + use mysql && MY_OPT+=( DATABASE=mysql ) + use postgres && MY_OPT+=( DATABASE=pgsql ) +} + +src_compile() { + emake "${MY_OPT[@]}" PREFIX=/var/ossec +} + +src_test() { + emake "${MY_OPT[@]}" PREFIX=/var/ossec test +} + +src_install() { + keepdir /var/ossec/logs/{alerts,archives,firewall} + keepdir /var/ossec/lua/{compiled,native} + keepdir /var/ossec/queue/{agent-info,agentless,alerts,diff,fts,ossec,rids,rootcheck,syscheck} + keepdir /var/ossec/{.ssh,stats,tmp,var/run} + newenvd - 50ossec-hids <<<'CONFIG_PROTECT="/var/ossec/etc"' + emake "${MY_OPT[@]}" PREFIX="${D}/var/ossec" install +} diff --git a/net-analyzer/p0f/Manifest b/net-analyzer/p0f/Manifest new file mode 100644 index 000000000000..0446617b5acf --- /dev/null +++ b/net-analyzer/p0f/Manifest @@ -0,0 +1 @@ +DIST p0f-3.09b.tgz 92896 BLAKE2B 5db3fe335c1dd3fedca5c007e8a133ff7327189c640ec6bce254ae7b1e6fe5729acd39d5a3d507e286742ac0b7c7612eb5aae452d60ab0e737cb05b0191ffbbb SHA512 2a688baa865f27c91c023a7c53e530649f56a681e6ca2533152ab07b42883857b20c378b636e87dda8d1d5dfac17e426d09ee032b363d0b7d98e57a9ff6164d0 diff --git a/net-analyzer/p0f/files/p0f-3.09_beta-build.patch b/net-analyzer/p0f/files/p0f-3.09_beta-build.patch new file mode 100644 index 000000000000..1f2419c2ed85 --- /dev/null +++ b/net-analyzer/p0f/files/p0f-3.09_beta-build.patch @@ -0,0 +1,66 @@ +Fixes build with C99/c23 compilers by including a patch from +arcctgx@poczta.onet.pl at https://bugs.gentoo.org/881143#c8 +Folds all seds into a patch +https://bugs.gentoo.org/881143 +--- a/build.sh ++++ b/build.sh +@@ -16,11 +16,11 @@ + BASIC_CFLAGS="-Wall -Wno-format -I/usr/local/include/ \ + -I/opt/local/include/ -DVERSION=\"$VERSION\" $CFLAGS" + + BASIC_LDFLAGS="-L/usr/local/lib/ -L/opt/local/lib $LDFLAGS" + +-USE_CFLAGS="-fstack-protector-all -fPIE -D_FORTIFY_SOURCE=2 -g -ggdb \ ++USE_CFLAGS="-fstack-protector-all -fPIE -D_FORTIFY_SOURCE=2 \ + $BASIC_CFLAGS" + + USE_LDFLAGS="-Wl,-z,relro -pie $BASIC_LDFLAGS" + + if [ "$OSTYPE" = "cygwin" ]; then +@@ -79,12 +79,12 @@ + exit 0 + + elif [ "$1" = "all" -o "$1" = "" ]; then + + echo "[+] Configuring production build." +- BASIC_CFLAGS="$BASIC_CFLAGS -O3" +- USE_CFLAGS="$USE_CFLAGS -O3" ++ BASIC_CFLAGS="$BASIC_CFLAGS" ++ USE_CFLAGS="$USE_CFLAGS" + + elif [ "$1" = "debug" ]; then + + echo "[+] Configuring debug build." + BASIC_CFLAGS="$BASIC_CFLAGS -DDEBUG_BUILD=1" +@@ -195,11 +195,11 @@ + + echo -n "[*] Checking if memory alignment is required... " + + rm -f "$TMP" "$TMP.c" "$TMP.log" || exit 1 + +-echo -e "#include \"types.h\"\nvolatile u8 tmp[6]; int main() { printf(\"%d\x5cn\", *(u32*)(tmp+1)); return 0; }" >"$TMP.c" || exit 1 ++echo -e "#include <stdio.h>\n#include \"types.h\"\nvolatile u8 tmp[6]; int main() { printf(\"%d\x5cn\", *(u32*)(tmp+1)); return 0; }" >"$TMP.c" || exit 1 + $CC $USE_CFLAGS $USE_LDFLAGS "$TMP.c" -o "$TMP" &>"$TMP.log" + + if [ ! -x "$TMP" ]; then + + echo "FAIL" +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -5,13 +5,13 @@ + # Copyright (C) 2012 by Michal Zalewski <lcamtuf@coredump.cx> + # + # Distributed under the terms and conditions of GNU LGPL. + # + +-CC = gcc +-CFLAGS = -g -ggdb -Wall -Wno-format -funsigned-char +-LDFLAGS = ++CC ?= gcc ++CFLAGS += -Wall -Wno-format -funsigned-char ++LDFLAGS += + TARGETS = p0f-client p0f-sendsyn p0f-sendsyn6 + + all: $(TARGETS) + + clean: diff --git a/net-analyzer/p0f/metadata.xml b/net-analyzer/p0f/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/p0f/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/p0f/p0f-3.09_beta-r1.ebuild b/net-analyzer/p0f/p0f-3.09_beta-r1.ebuild new file mode 100644 index 000000000000..e7c8957feb58 --- /dev/null +++ b/net-analyzer/p0f/p0f-3.09_beta-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +MY_P=${P/_beta/b} + +DESCRIPTION="A tool to perform passive OS detection based on SYN packets" +HOMEPAGE="https://lcamtuf.coredump.cx/p0f3/" +SRC_URI="https://lcamtuf.coredump.cx/p0f3/releases/${MY_P}.tgz" +S="${WORKDIR}"/${MY_P} + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ppc ~sparc x86" +IUSE="debug ipv6" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" + +src_prepare() { + default + + sed -i \ + -e 's:-g -ggdb::' \ + -e 's:-O3::' \ + -e '/^CC/s:=:?=:' \ + -e '/^CFLAGS/s:=:+=:' \ + -e '/^LDFLAGS/s:=:+=:' \ + build.sh tools/Makefile || die + + sed -i -e "/FP_FILE/s:p0f.fp:${EPREFIX}/etc/&:" config.h || die +} + +src_compile() { + tc-export CC + + edo ./build.sh $(use debug && echo debug) + + emake -C tools p0f-client p0f-sendsyn $(use ipv6 && echo p0f-sendsyn6) +} + +src_install() { + dosbin p0f tools/p0f-{client,sendsyn} + use ipv6 && dosbin tools/p0f-sendsyn6 + + insinto /etc + doins p0f.fp + + dodoc docs/{ChangeLog,README,TODO,*.txt} tools/README-TOOLS +} diff --git a/net-analyzer/p0f/p0f-3.09_beta-r2.ebuild b/net-analyzer/p0f/p0f-3.09_beta-r2.ebuild new file mode 100644 index 000000000000..b81400122b19 --- /dev/null +++ b/net-analyzer/p0f/p0f-3.09_beta-r2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +MY_P=${P/_beta/b} + +DESCRIPTION="A tool to perform passive OS detection based on SYN packets" +HOMEPAGE="https://lcamtuf.coredump.cx/p0f3/" +SRC_URI="https://lcamtuf.coredump.cx/p0f3/releases/${MY_P}.tgz" +S="${WORKDIR}"/${MY_P} + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ppc ~sparc x86" +IUSE="debug" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${P}-build.patch" ) + +src_prepare() { + default + + sed -i -e "/FP_FILE/s:p0f.fp:${EPREFIX}/etc/&:" config.h || die +} + +src_compile() { + tc-export CC + + edo ./build.sh $(use debug && echo debug) + + emake -C tools p0f-client p0f-sendsyn p0f-sendsyn6 +} + +src_test() { + ./p0f -L || die # check that program starts and can print current interfaces +} + +src_install() { + dosbin p0f tools/p0f-{client,sendsyn,sendsyn6} + + insinto /etc + doins p0f.fp + + dodoc docs/{ChangeLog,README,TODO,*.txt} tools/README-TOOLS +} diff --git a/net-analyzer/packit/Manifest b/net-analyzer/packit/Manifest new file mode 100644 index 000000000000..62512f7495e4 --- /dev/null +++ b/net-analyzer/packit/Manifest @@ -0,0 +1 @@ +DIST packit-1.8.tar.gz 150410 BLAKE2B d0a0926643b6b595159d1fec703295a880c1fcad188e2d9a6719b879bad0b1f081ab75031550257d5c8573f2d8ed9960e7d46fdbe4c4c19c669015b048509a24 SHA512 1873c687c8be489966d5f8868def3cb824264dcfd8c6572b03fd51f15f8920965c8682b13cc6a9d6fec62bf9fe3b4e91f5a9d3d4c6441232d3f6f51a244a8baf diff --git a/net-analyzer/packit/metadata.xml b/net-analyzer/packit/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/packit/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/packit/packit-1.8.ebuild b/net-analyzer/packit/packit-1.8.ebuild new file mode 100644 index 000000000000..f5476b45e11e --- /dev/null +++ b/net-analyzer/packit/packit-1.8.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Network packet generator and capture tool" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/packit" +SRC_URI="https://github.com/resurrecting-open-source-projects/packit/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +DEPEND="net-libs/libnet:1.1 + net-libs/libpcap" +RDEPEND="${DEPEND}" + +src_prepare() { + default + + eautoreconf +} + +src_install() { + default + + dodoc docs/* +} diff --git a/net-analyzer/pathload/Manifest b/net-analyzer/pathload/Manifest new file mode 100644 index 000000000000..608325e460be --- /dev/null +++ b/net-analyzer/pathload/Manifest @@ -0,0 +1 @@ +DIST pathload-1.3.2.tar.gz 68524 BLAKE2B 0ea27000647c292e4d04c92574dc2d63fcdd9c16be57d9af49df8651e6f8905561c70f48b9854c69a16c4b3d16fc8bec61ffed3cbbdad7e1f18e2209e9b4f199 SHA512 9fef51c86b8aa2c28a33effe5a5bff36eebc0812f6d6744fac93df46ec0cbce8f5977d24b6ac52442386fb263550fe46e639c4a3ff4612fe92ad09d6595e5d7f diff --git a/net-analyzer/pathload/files/pathload-1.3.2-clang16.patch b/net-analyzer/pathload/files/pathload-1.3.2-clang16.patch new file mode 100644 index 000000000000..479aaeec520e --- /dev/null +++ b/net-analyzer/pathload/files/pathload-1.3.2-clang16.patch @@ -0,0 +1,34 @@ +configure.ac is missing, so need to edit this manually + +https://bugs.gentoo.org/870661 +--- a/configure ++++ b/configure +@@ -630,3 +630,3 @@ + +-main(){return(0);} ++int main(void){return(0);} + EOF +--- a/pathload_rcv.h ++++ b/pathload_rcv.h +@@ -85,3 +85,3 @@ + EXTERN l_int32 get_sndr_time_interval(double snd_time[],double *sum); +-EXTERN void sig_alrm(); ++EXTERN void sig_alrm(int __attribute__((__unused__)) unused); + EXTERN void terminate_gracefully(struct timeval exp_start_time); +@@ -100,3 +100,3 @@ + EXTERN void help(); +-EXTERN void sig_sigusr1() ; ++EXTERN void sig_sigusr1(int __attribute__((__unused__)) unused) ; + +--- a/pathload_rcv_func.c ++++ b/pathload_rcv_func.c +@@ -669,3 +669,3 @@ + +-void sig_sigusr1() ++void sig_sigusr1(int __attribute__((__unused__)) unused) + { +@@ -674,3 +674,3 @@ + +-void sig_alrm() ++void sig_alrm(int __attribute__((__unused__)) unused) + { diff --git a/net-analyzer/pathload/files/pathload-1.3.2-make.patch b/net-analyzer/pathload/files/pathload-1.3.2-make.patch new file mode 100644 index 000000000000..451b0eadf538 --- /dev/null +++ b/net-analyzer/pathload/files/pathload-1.3.2-make.patch @@ -0,0 +1,19 @@ +--- a/makefile.in ++++ b/makefile.in +@@ -11,13 +11,13 @@ + + TARGETS=pathload_snd pathload_rcv + +-all:${TARGETS} clean ++all:${TARGETS} + + pathload_snd: $(SOBJS) +- $(CC) $(SOBJS) -o pathload_snd $(LIBS) $(LDFLAGS) $(CFLAGS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(SOBJS) -o pathload_snd $(LIBS) + + pathload_rcv: $(ROBJS) +- $(CC) $(ROBJS) -o pathload_rcv $(LIBS) $(LDFLAGS) $(CFLAGS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(ROBJS) -o pathload_rcv $(LIBS) + + pathload_rcv.o pathload_rcv_func.o: pathload_gbls.h pathload_rcv.h + diff --git a/net-analyzer/pathload/metadata.xml b/net-analyzer/pathload/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/pathload/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pathload/pathload-1.3.2-r1.ebuild b/net-analyzer/pathload/pathload-1.3.2-r1.ebuild new file mode 100644 index 000000000000..b8e220379490 --- /dev/null +++ b/net-analyzer/pathload/pathload-1.3.2-r1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Non-intrusive utility for estimation of available bandwidth of Internet paths" +HOMEPAGE="https://www.cc.gatech.edu/fac/constantinos.dovrolis/bw-est/pathload.html" +SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.gz" +S="${WORKDIR}/${P/-/_}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +PATCHES=( + "${FILESDIR}"/${P}-make.patch + "${FILESDIR}"/${P}-clang16.patch +) + +src_configure() { + tc-export CC + + default +} + +src_install() { + dobin ${PN}_snd ${PN}_rcv + dodoc CHANGELOG CHANGES README +} diff --git a/net-analyzer/pbnj/Manifest b/net-analyzer/pbnj/Manifest new file mode 100644 index 000000000000..4e843ab2f086 --- /dev/null +++ b/net-analyzer/pbnj/Manifest @@ -0,0 +1 @@ +DIST pbnj-2.04.tar.bz2 57438 BLAKE2B 43b057fb95e74cd7f4d8d11e905fb6c3734971295db13116e94250a7665d28f5a9bb288b5ba07f50c7426a9a90664ea90bb790ad0aea87c24838398faa3ec0f8 SHA512 7f486c4e16a891d90ff10fa80b85ba68346f37152c5f932832c3760985f0dff5c58e0f23309ed395f0c06ff4287bf4af66d1b39de7f2838a868e6b8335afe206 diff --git a/net-analyzer/pbnj/files/pbnj-2.04-ipv4_sort.patch b/net-analyzer/pbnj/files/pbnj-2.04-ipv4_sort.patch new file mode 100644 index 000000000000..9b9fd8237320 --- /dev/null +++ b/net-analyzer/pbnj/files/pbnj-2.04-ipv4_sort.patch @@ -0,0 +1,11 @@ +--- a/t/02parser.t ++++ b/t/02parser.t +@@ -40,7 +40,7 @@ +
+ #TESTING IPV4_SORT
+ my @hosts = (HOST3, HOST1, HOST4, HOST2);
+- is_deeply([$np->ipv4_sort(@hosts)],[HOST1, HOST2, HOST3, HOST4], 'Testing ipv4_sort');
++ is_deeply([$np->addr_sort(@hosts)],[HOST1, HOST2, HOST3, HOST4], 'Testing addr_sort');
+
+
+ #TESTING ALL_HOSTS()
diff --git a/net-analyzer/pbnj/metadata.xml b/net-analyzer/pbnj/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/pbnj/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pbnj/pbnj-2.04-r1.ebuild b/net-analyzer/pbnj/pbnj-2.04-r1.ebuild new file mode 100644 index 000000000000..2e661641aa78 --- /dev/null +++ b/net-analyzer/pbnj/pbnj-2.04-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit perl-module + +DESCRIPTION="Tool for running Nmap scans and diff'ing the results" +HOMEPAGE="https://pbnj.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/pbnj/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +DEPEND=" + dev-perl/DBD-SQLite + dev-perl/DBI + dev-perl/File-HomeDir + dev-perl/File-Which + dev-perl/Nmap-Parser + dev-perl/Shell + dev-perl/Text-CSV_XS + dev-perl/XML-Twig + dev-perl/YAML +" +RDEPEND=" + ${DEPEND} + net-analyzer/nmap +" +PATCHES=( + "${FILESDIR}"/${PN}-2.04-ipv4_sort.patch +) + +src_prepare() { + default + + mv t/04change.t{,his-test-fails} || die + mv t/05output.t{,his-test-fails} || die +} diff --git a/net-analyzer/pinger/Manifest b/net-analyzer/pinger/Manifest new file mode 100644 index 000000000000..994a344d6a4d --- /dev/null +++ b/net-analyzer/pinger/Manifest @@ -0,0 +1 @@ +DIST pinger-0.33.tar.gz 247827 BLAKE2B 6139044be634438945c92a431b97276b5556b513a948a675d6d70c73e4e22d08a58b9cf6607170f804354c18371af54a222b0e064cc1c8275ba77f67ddbd6699 SHA512 fff07599ef91fbdcff9be7806eca57a71e8e6fac7e9afc67c4147e6246b0bcdadf379de28f87054dbe7c409955c0e0ddeae7f529e954231bea0cfb39e4e29bc1 diff --git a/net-analyzer/pinger/files/pinger-0.33-clang16.patch b/net-analyzer/pinger/files/pinger-0.33-clang16.patch new file mode 100644 index 000000000000..1a6fe6cf03da --- /dev/null +++ b/net-analyzer/pinger/files/pinger-0.33-clang16.patch @@ -0,0 +1,8 @@ +https://bugs.gentoo.org/870871 +--- a/src/interface_ncurses.c ++++ b/src/interface_ncurses.c +@@ -41,3 +41,3 @@ + * characters */ +-static nr_print_ull(char *c, int max_chars, unsigned long long l) ++static int nr_print_ull(char *c, int max_chars, unsigned long long l) + { diff --git a/net-analyzer/pinger/files/pinger-0.33-gentoo.patch b/net-analyzer/pinger/files/pinger-0.33-gentoo.patch new file mode 100644 index 000000000000..76ef052a4a2d --- /dev/null +++ b/net-analyzer/pinger/files/pinger-0.33-gentoo.patch @@ -0,0 +1,73 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -2,7 +2,12 @@ + + bin_PROGRAMS = pinger + man_MANS = pinger.1 ++if HAVE_GTK_2 + bin_SCRIPTS = gtkpinger ++endif ++if HAVE_GTK_3 ++bin_SCRIPTS = gtkpinger ++endif + + P_SOURCES = timefunc.c parse.c ping.c pinger.c dns.c log.c timefunc.h parse.h ping.h globals.h fake_gtk.h dns.h log.h + if HAVE_CURSES +--- a/configure.in ++++ b/configure.in +@@ -54,34 +54,46 @@ + AC_HEADER_TIME + AM_INADDRT + ++PKG_PROG_PKG_CONFIG() ++ + dnl GTK3/GTK2 tests + dnl Note: PKG_CHECK_MODULES cannot be used conditionaly due to sharing the tests and depending on it + AC_ARG_ENABLE([gtk], AS_HELP_STRING([--enable-gtk[[[=version]]]], [Build with GTK+ interface. Supported versions are gtk2 and gtk3. Default is gtk2.])) +-PKG_CHECK_MODULES(GTK, [ gtk+-2.0 >= 2.4 ], HAVE_GTK_2=1; ) +-AC_SUBST(GTK_CFLAGS) +-AC_SUBST(GTK_LIBS) +-PKG_CHECK_MODULES(GTK3, [ gtk+-3.0 >= 3.12 ], HAVE_GTK_3=1) +-AC_SUBST(GTK3_CFLAGS) +-AC_SUBST(GTK3_LIBS) + + if test "x$enableval" = "x" || test "x$enableval" = "xgtk2"; then ++PKG_CHECK_MODULES(GTK, [ gtk+-2.0 >= 2.4 ], HAVE_GTK_2=1,[]) ++AC_SUBST(GTK_CFLAGS) ++AC_SUBST(GTK_LIBS) + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$LIBS $GTK_LIBS" + HAVE_GTK_3=0 + AC_DEFINE(HAVE_GTK_2, 1, Found GTK+ 2.x support) + elif test "x$enableval" = "xgtk3"; then ++PKG_CHECK_MODULES(GTK3, [ gtk+-3.0 >= 3.12 ], HAVE_GTK_3=1,[]) ++AC_SUBST(GTK3_CFLAGS) ++AC_SUBST(GTK3_LIBS) + CFLAGS="$CFLAGS $GTK3_CFLAGS" + LIBS="$LIBS $GTK3_LIBS" + HAVE_GTK_2=0 + AC_DEFINE(HAVE_GTK_3, 1, Found GTK+ 3.x support) + else +-echo "Sorry, the value $enableval is not supported as argument of --enable-gtk." +-exit 1 ++HAVE_GTK_2=0 ++HAVE_GTK_3=0 + fi + +-dnl Check for additional external libraries etc.. ++AC_ARG_ENABLE(ncurses, [ --enable-ncurses enable ncurses support], ++ [if test "$enableval" = no; then no_ncurses=yes; fi]) ++if test x$no_ncurses != xyes; then ++PKG_CHECK_MODULES(ncurses, ncurses,[ ++ AC_DEFINE([HAVE_LIBNCURSES], [1], found ncurses library) ++ HAVE_CURSES=1 ++ LIBS="$LIBS $ncurses_LIBS" ++ CFLAGS="$CFLAGS $ncurses_CFLAGS"], + AC_CHECK_LIB(ncurses, initscr, HAVE_CURSES=1; LIBS="$LIBS -lncurses"; + AC_DEFINE([HAVE_LIBNCURSES], [1], found ncurses library)) ++ ) ++fi ++dnl Check for additional external libraries etc.. + AC_CHECK_LIB(intl, libintl_gettext, LIBS="$LIBS -lintl") + AC_CHECK_LIB(pthread, pthread_create, LIBS="$LIBS -lpthread", AC_MSG_ERROR(Pthread required and not found. Please check if you have libpthread in your system and specify using CFLAGS and LDFLAGS when configure)) + diff --git a/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-C23-compat.patch b/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-C23-compat.patch new file mode 100644 index 000000000000..41ae74b87a9c --- /dev/null +++ b/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-C23-compat.patch @@ -0,0 +1,39 @@ +From a6392be483562043f9e06273a2b1e34b64b5eb13 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 12 Feb 2025 15:24:41 +0000 +Subject: [PATCH 1/2] interface_ncurses: fix C23 compat + +adjust_size is called as a signal handler so needs to take an int param; +just define one and throw it away. + +Bug: https://bugs.gentoo.org/944034 +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/interface_ncurses.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/interface_ncurses.c b/src/interface_ncurses.c +index f3ffc53..28d2ce5 100644 +--- a/src/interface_ncurses.c ++++ b/src/interface_ncurses.c +@@ -23,7 +23,7 @@ int new_cols, new_rows; + #endif + + #if CAN_RESIZE +-void adjust_size(); ++void adjust_size(int); + int size_changed = 0; + #endif + +@@ -519,7 +519,7 @@ void ncurses_gui_loop(hosts_data * hosts, int *stop_loop) + + /* Resize terminal if necessary */ + #if CAN_RESIZE +-void adjust_size() ++void adjust_size(int unused) + { + struct winsize size; + +-- +2.48.1 + diff --git a/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-Wformat-security.patch b/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-Wformat-security.patch new file mode 100644 index 000000000000..5586ac0308a1 --- /dev/null +++ b/net-analyzer/pinger/files/pinger-0.33-interface_ncurses-fix-Wformat-security.patch @@ -0,0 +1,60 @@ +From d464aa2a165adcf42c37d87e38ea3796ee56d485 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 12 Feb 2025 15:25:15 +0000 +Subject: [PATCH 2/2] interface_ncurses: fix -Wformat-security + +Newer ncurses has format attributes which trigger this. + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/interface_ncurses.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/interface_ncurses.c b/src/interface_ncurses.c +index 28d2ce5..a7496d2 100644 +--- a/src/interface_ncurses.c ++++ b/src/interface_ncurses.c +@@ -188,7 +188,7 @@ void show_host_status(host_data * host, int colpair, int attr, char *statstr, + attroff(attr); + /* print time */ + get_currtime_str(NULL, time_str); +- mvprintw(0, COLS - 8, time_str); ++ mvprintw(0, COLS - 8, "%s", time_str); + refresh(); + } + } +@@ -319,11 +319,11 @@ void print_header(char *title) + printw("%s", line); + move(0, HDR_LINE_X_START); + sprintf(line, "Pinger v%s", VERSION); +- printw(line); ++ printw("%s", line); + title_start = strlen(line) + HDR_LINE_X_START + 1; + sprintf(line, _("'q' key to quit")); + move(0, COLS - strlen(line) - 9); /* 1 + clock width */ +- printw(line); ++ printw("%s", line); + title_maxlen = COLS - strlen(line) - 9 - title_start; + if ((title_maxlen > 4) && (title != NULL)) { + title_len = strlen(title); +@@ -342,7 +342,7 @@ void print_header(char *title) + for (idx = 0; idx < strlen(title_with_brackets); idx++) + if (title_with_brackets[idx] == '%') + title_with_brackets[idx] = ':'; +- printw(title_with_brackets); ++ printw("%s", title_with_brackets); + } + //if (title != NULL) free(title); + if (title_with_brackets != NULL) +@@ -351,7 +351,7 @@ void print_header(char *title) + attron(A_BOLD); + move(0, COLS - 8); + get_currtime_str(NULL, line); +- printw(line); ++ printw("%s", line); + free(line); + + move(1, 0); +-- +2.48.1 + diff --git a/net-analyzer/pinger/files/pinger-0.33-musl-int-types.patch b/net-analyzer/pinger/files/pinger-0.33-musl-int-types.patch new file mode 100644 index 000000000000..0777242ba6f8 --- /dev/null +++ b/net-analyzer/pinger/files/pinger-0.33-musl-int-types.patch @@ -0,0 +1,158 @@ +From: Sam James <sam@gentoo.org> +Date: Wed, 29 Dec 2021 23:40:20 +0000 +Subject: [PATCH] Use <stdint.h> types + +Fixes musl compatibility. + +Bug: https://bugs.gentoo.org/712746 +--- a/src/fake_gtk.h ++++ b/src/fake_gtk.h +@@ -7,7 +7,6 @@ + #define GdkEvent int + #define gpointer int * + #define gboolean void +-#define gint int + #define GdkInputCondition int + + #else +--- a/src/globals.h ++++ b/src/globals.h +@@ -62,10 +62,6 @@ + #define EXTERN extern + #endif + +-#ifndef __USE_MISC +-#define unsigned int uint; +-#endif +- + #define MAX_HOSTS 100 + /* Maximum size of domain name */ + #define MAX_DNAME_LEN 60 +@@ -93,8 +89,8 @@ typedef struct host_data_t + struct timeval lastok_tv; /* timestamp of last ok echo */ + int status; /* status of host, online, without reply, ... */ + double delay; /* ping latency in miliseconds */ +- u_int last_seq_sent; /* sequence nr. of last packet sent */ +- u_int last_seq_recv; /* sequence nr. of last packet received */ ++ unsigned int last_seq_sent; /* sequence nr. of last packet sent */ ++ unsigned int last_seq_recv; /* sequence nr. of last packet received */ + unsigned long long nr_sent; /* number of send and received */ + unsigned long long nr_recv; + int ok_delay; /* time in ms, after we send next echo when OK (sucessfuly ping - ECHO REPLY) */ +@@ -164,9 +160,9 @@ typedef struct flstruct + #ifdef LOCAL + /* hosts specified only by domain names are resolved every 10 minutes. Specify + * other interval in seconds here if required. -1=disable. */ +-uint dns_check_s = 600; ++unsigned int dns_check_s = 600; + #else +-extern uint dns_check_s; ++extern unsigned int dns_check_s; + #endif + + EXTERN int mode; +--- a/src/interface_gtk.c ++++ b/src/interface_gtk.c +@@ -3,6 +3,7 @@ + #include "ping.h" + #include <gdk/gdkkeysyms.h> + #include <stdio.h> ++#include <stdint.h> + #include <string.h> + + GtkWidget *window; +@@ -13,7 +14,7 @@ static GtkWidget *scrolled_list; + static GtkWidget *tabs; + /* status bar for clock */ + static GtkWidget *status_bar; +-static guint status_bar_context; ++static unsigned int status_bar_context; + /* Box where store tabs and status bar */ + static GtkWidget *vbox; + +@@ -31,7 +32,7 @@ struct regular_disp_data + { + hosts_data *hosts; + int *stop_loop; +- guint disp_timeout_id; ++ unsigned int disp_timeout_id; + }; + + /* Interface display data */ +@@ -54,7 +55,7 @@ enum + static GtkWidget *create_list(hosts_data * hosts, int set_nr, + GtkListStore ** model); + static gboolean display_pinger_status(gpointer data); +-static gint gtk_delete_event(GtkWidget * widget, GdkEvent * event, ++static int gtk_delete_event(GtkWidget * widget, GdkEvent * event, + gpointer data); + static gchar *my_locale_to_utf8(char *text, char *file, int line); + +@@ -63,7 +64,7 @@ static void tab_refresh_rate(GtkWidget * widget, GdkEvent * event, + { + g_source_remove(int_disp_data->disp_timeout_id); + int_disp_data->disp_timeout_id = +- g_timeout_add((guint32) * (int *) data, display_pinger_status, ++ g_timeout_add((uint32_t) * (int *) data, display_pinger_status, + (gpointer) int_disp_data); + } + +@@ -462,7 +463,7 @@ static GtkWidget *create_list(hosts_data * hosts, int set_nr, + } + + /* delete_event callback function. data is (hosts_data *) */ +-static gint gtk_delete_event(GtkWidget * widget, ++static int gtk_delete_event(GtkWidget * widget, + GdkEvent * event, gpointer data) + { + if (free_sockets((hosts_data *) data)) +@@ -532,7 +533,7 @@ void gtk_gui_loop(hosts_data * hosts, int *stop_loop) + disp_data.stop_loop = stop_loop; + + disp_data.disp_timeout_id = +- g_timeout_add((guint32) hosts->titles->refresh_int, ++ g_timeout_add((uint32_t) hosts->titles->refresh_int, + display_pinger_status, (gpointer) & disp_data); + display_pinger_status((gpointer) & disp_data); + +--- a/src/ping.c ++++ b/src/ping.c +@@ -35,10 +35,10 @@ + #endif + + /* Compute checksum for ICMP output buffer */ +-static u_short cksum(u_short * buf, u_int len) ++static unsigned short cksum(unsigned short * buf, unsigned int len) + { +- u_int sum = 0; +- u_short retval; ++ unsigned int sum = 0; ++ unsigned short retval; + + /* 32 bit sum adds sequential 16 bit buffer parts */ + while (len > 1) { +@@ -51,12 +51,12 @@ static u_short cksum(u_short * buf, u_int len) + + union + { +- u_short word; +- u_char byte; ++ unsigned short word; ++ unsigned char byte; + } odd; + + odd.word = 0; +- odd.byte = *(u_char *) buf; ++ odd.byte = *(unsigned char *) buf; + sum += odd.word; + } + +@@ -189,7 +189,7 @@ int send_icmp_echo(host_data * host, hosts_data * hosts) + ich->checksum = 0; + ich->un.echo.sequence = ++host->last_seq_sent; + ich->un.echo.id = getpid() & 0xFFFF; +- ich->checksum = cksum((u_short *) outpacket, outpacket_len); ++ ich->checksum = cksum((unsigned short *) outpacket, outpacket_len); + + if ((sendto + (host->rawfd, outpacket, outpacket_len, 0, (struct sockaddr *) &to, diff --git a/net-analyzer/pinger/metadata.xml b/net-analyzer/pinger/metadata.xml new file mode 100644 index 000000000000..97b07939b625 --- /dev/null +++ b/net-analyzer/pinger/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="gtk2">Install the gtkpinger GUI utility based on <pkg>x11-libs/gtk+</pkg>:2</flag> + <flag name="gtk3">Install the gtkpinger GUI utility based on <pkg>x11-libs/gtk+</pkg>:3</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pinger/pinger-0.33-r2.ebuild b/net-analyzer/pinger/pinger-0.33-r2.ebuild new file mode 100644 index 000000000000..ef60082f3865 --- /dev/null +++ b/net-analyzer/pinger/pinger-0.33-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Cyclic multi ping utility for selected adresses using GTK/ncurses" +HOMEPAGE="http://aa.vslib.cz/silk/projekty/pinger/" +SRC_URI="http://aa.vslib.cz/silk/projekty/pinger/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="gtk2 gtk3 ncurses nls" + +REQUIRED_USE="|| ( gtk2 gtk3 ncurses ) + ?? ( gtk2 gtk3 )" + +GTK_DEPEND="dev-libs/glib:2" +RDEPEND="gtk2? ( + ${GTK_DEPEND} + >=x11-libs/gtk+-2.4:2 + ) + gtk3? ( + ${GTK_DEPEND} + >=x11-libs/gtk+-3.12:3 + ) + ncurses? ( sys-libs/ncurses:= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( AUTHORS BUGS ChangeLog NEWS README ) + +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-musl-int-types.patch + "${FILESDIR}"/${P}-clang16.patch + "${FILESDIR}"/${P}-interface_ncurses-fix-C23-compat.patch + "${FILESDIR}"/${P}-interface_ncurses-fix-Wformat-security.patch +) + +src_prepare() { + default + + sed -i -e '/Root privileges/d' src/Makefile.am || die + + eautoreconf +} + +src_configure() { + append-cppflags -D_GNU_SOURCE + + econf \ + $(usex gtk2 --enable-gtk=gtk2 '') \ + $(usex gtk3 --enable-gtk=gtk3 '') \ + $(use_enable ncurses) \ + $(use_enable nls) +} diff --git a/net-analyzer/pktstat/Manifest b/net-analyzer/pktstat/Manifest new file mode 100644 index 000000000000..2675732650ad --- /dev/null +++ b/net-analyzer/pktstat/Manifest @@ -0,0 +1 @@ +DIST pktstat-1.8.5.tar.gz 133404 BLAKE2B 8aa533bf2570a56ed99812e3216c653a625e8ee89b9a4fe1dbe1bb12c68c00ce2ae1252de65bec147f0373f3627944c38ab1d76541a1a63d77bac430a825e2da SHA512 0401b34646b3e6238a9fe032fa4c2afb70a3a009850bc85c043ff4bba7da6fab0dcf20b963c62ba4db5ba15a7508241dba4f4789ea59b12193928b4c4ec7f0c7 diff --git a/net-analyzer/pktstat/files/pktstat-1.8.5-gcc15.patch b/net-analyzer/pktstat/files/pktstat-1.8.5-gcc15.patch new file mode 100644 index 000000000000..112e6832d6f3 --- /dev/null +++ b/net-analyzer/pktstat/files/pktstat-1.8.5-gcc15.patch @@ -0,0 +1,24 @@ +https://github.com/dleonard0/pktstat/pull/6 +https://bugs.gentoo.org/945321 + +--- a/resize.c ++++ b/resize.c +@@ -36,7 +36,7 @@ + #include "compat.h" + + #ifdef SIGWINCH +-static RETSIGTYPE sigwinch(); ++static RETSIGTYPE sigwinch(int sig); + #endif + + static volatile int sigwinch_seen; +@@ -44,8 +44,7 @@ static volatile int sigwinch_seen; + #ifdef SIGWINCH + /* Set the flag when the window size changes */ + static RETSIGTYPE +-sigwinch(sig) +- int sig; ++sigwinch(int sig) + { + sigwinch_seen = 1; + } diff --git a/net-analyzer/pktstat/files/pktstat-1.8.5-smtp_line.patch b/net-analyzer/pktstat/files/pktstat-1.8.5-smtp_line.patch new file mode 100644 index 000000000000..67ea9e9181e8 --- /dev/null +++ b/net-analyzer/pktstat/files/pktstat-1.8.5-smtp_line.patch @@ -0,0 +1,46 @@ +--- a/tcp_smtp.c ++++ b/tcp_smtp.c +@@ -149,13 +149,9 @@ + struct smtp_state *state; + const char *s; + int addr_changed = 0; +-FILE*log; + + state = (struct smtp_state *)f->udata; + +-if ((log = fopen("/tmp/smtp.log", "a"))) +- fprintf(log, "smpt_line [%s]\n", line); +- + if (state->in_data) { + if (strcmp(line, ".") == 0) { + state->in_data = 0; +@@ -180,18 +176,15 @@ + } else { + /* Normalize the command line */ + normalize_line(line); +-if (log)fprintf(log, "normalized to [%s]\n", line); + if ((s = strip_prefix(line, "MAIL FROM:"))) { + snprintf(state->from_addr, sizeof state->from_addr, "%s", s); + normalize_addr(state->from_addr); + addr_changed = 1; +-if (log)fprintf(log, "from_addr = [%s]\n", state->from_addr); + } + else if ((s = strip_prefix(line, "RCPT TO:"))) { + snprintf(state->to_addr, sizeof state->to_addr, "%s", s); + normalize_addr(state->to_addr); + addr_changed = 1; +-if (log)fprintf(log, "to_addr = [%s]\n", state->to_addr); + } + else if (strcmp(line, "DATA") == 0) { + state->in_data = 1; +@@ -213,10 +206,7 @@ + if (strcmp(line, "QUIT") != 0) + snprintf(f->desc, sizeof f->desc, "%s", line); + } +-if (log)fprintf(log, "set desc to: [%s]\n", f->desc); + } +- +-if (log)fclose(log); + } + + /* diff --git a/net-analyzer/pktstat/files/pktstat-1.8.5-tinfo.patch b/net-analyzer/pktstat/files/pktstat-1.8.5-tinfo.patch new file mode 100644 index 000000000000..5181124b8053 --- /dev/null +++ b/net-analyzer/pktstat/files/pktstat-1.8.5-tinfo.patch @@ -0,0 +1,10 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -18,6 +18,7 @@ + AC_SEARCH_LIBS(gethostbyname, [nsl]) dnl for Solaris + AC_SEARCH_LIBS(pcap_open_live, [pcap]) + AC_SEARCH_LIBS(exp, [m]) ++PKG_CHECK_MODULES(ncurses,ncurses,LIBS="$LIBS $ncurses_LIBS",AC_MSG_ERROR[ncurses is required]) + AC_SEARCH_LIBS(tgoto, [termlib termcap curses ncurses ocurses]) + AC_SEARCH_LIBS(initscr, [curses ncurses ocurses]) + AC_SEARCH_LIBS(nanosleep, [posix4]) diff --git a/net-analyzer/pktstat/metadata.xml b/net-analyzer/pktstat/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/pktstat/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pktstat/pktstat-1.8.5-r2.ebuild b/net-analyzer/pktstat/pktstat-1.8.5-r2.ebuild new file mode 100644 index 000000000000..60a82ccc40ab --- /dev/null +++ b/net-analyzer/pktstat/pktstat-1.8.5-r2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A network monitoring tool with bandwidth tracking" +HOMEPAGE="https://github.com/dleonard0/pktstat http://www.adaptive-enterprises.com.au/~d/software/pktstat/" +SRC_URI="http://www.adaptive-enterprises.com.au/~d/software/pktstat/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + net-libs/libpcap + >=sys-libs/ncurses-5.3-r1 +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-tinfo.patch + "${FILESDIR}"/${P}-smtp_line.patch + "${FILESDIR}"/${P}-gcc15.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_install() { + dosbin pktstat + doman pktstat.1 + dodoc ChangeLog NEWS README TODO +} diff --git a/net-analyzer/pmacct/Manifest b/net-analyzer/pmacct/Manifest new file mode 100644 index 000000000000..0f60bad90346 --- /dev/null +++ b/net-analyzer/pmacct/Manifest @@ -0,0 +1 @@ +DIST pmacct-1.7.9.tar.gz 2132268 BLAKE2B 70bca376e76d774527ef81f5688ed8f33723989d5a4627532e1bfa66789933ff7cb95848d9347763ce86c2fd34887916d60c40db309ec48fe9fa8d2f084e4e0a SHA512 a12b76c094c1f6abc8c3de31219d9471d3422a3ed27d4edf8785d14c9bebe1cc6fd070ea839f02a2e2f70da87943aa7843586092cff1a9965d36d84a79585129 diff --git a/net-analyzer/pmacct/files/nfacctd.service b/net-analyzer/pmacct/files/nfacctd.service new file mode 100644 index 000000000000..d649f47030bf --- /dev/null +++ b/net-analyzer/pmacct/files/nfacctd.service @@ -0,0 +1,18 @@ +[Unit] +Description=netflow accounting daemon +After=network.target + +[Service] +ProtectSystem=full +ProtectHome=true +ProtectHostname=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +Type=forking +ExecStart=/usr/sbin/nfacctd -f /etc/pmacctd/nfacctd.conf -i %I + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/pmacct/files/pmacct-1.7.9-build-system.patch b/net-analyzer/pmacct/files/pmacct-1.7.9-build-system.patch new file mode 100644 index 000000000000..3e9680b79043 --- /dev/null +++ b/net-analyzer/pmacct/files/pmacct-1.7.9-build-system.patch @@ -0,0 +1,27 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -1212,11 +1212,7 @@ + dnl Git submodule Dependencies buid system + dnl -------------------------------------- + +-dnl First check whether to build git submodule deps +-WITH_EXTERNAL_DEPS_DEFAULT=yes +-if [ test ! -f "$srcdir/src/external_libs/libcdada/include/cdada.h" ] && [ test -z `git rev-parse HEAD 2> /dev/null` ]; then +- WITH_EXTERNAL_DEPS_DEFAULT=no +-fi ++WITH_EXTERNAL_DEPS_DEFAULT=no + + AC_MSG_CHECKING([whether external dependencies (git submodules) should be compiled]) + AC_ARG_WITH(external-deps, +@@ -1263,9 +1259,9 @@ + AC_MSG_RESULT(yes) + tmp_CFLAGS=`echo $CFLAGS | sed 's/O2/O0/g'` + CFLAGS="$tmp_CFLAGS" +- CFLAGS="$CFLAGS -g -Wall -Werror" ++ CFLAGS="$CFLAGS -g -Wall" + else +- CFLAGS="$CFLAGS -Wall -Werror" ++ CFLAGS="$CFLAGS -Wall" + AC_MSG_RESULT(no) + fi + ], diff --git a/net-analyzer/pmacct/files/pmacct-1.7.9-c23.patch b/net-analyzer/pmacct/files/pmacct-1.7.9-c23.patch new file mode 100644 index 000000000000..b1c80c0fce65 --- /dev/null +++ b/net-analyzer/pmacct/files/pmacct-1.7.9-c23.patch @@ -0,0 +1,49 @@ +From 6466578967d3d39c46f7ec10b308bca36568697d Mon Sep 17 00:00:00 2001 +From: Paolo Lucente <pl+github@pmacct.net> +Date: Tue, 11 Mar 2025 23:02:05 +0000 +Subject: [PATCH] * fix, making gcc15 happy. Patch contributed by Petr Gajdos + +--- a/src/pmacct.h ++++ b/src/pmacct.h +@@ -368,9 +368,9 @@ struct child_ctl2 { + #include "util.h" + + /* prototypes */ +-void startup_handle_falling_child(); +-void handle_falling_child(); +-void ignore_falling_child(); ++void startup_handle_falling_child(int); ++void handle_falling_child(int); ++void ignore_falling_child(int); + void PM_sigint_handler(int); + void PM_sigalrm_noop_handler(int); + void reload(int); +--- a/src/signals.c ++++ b/src/signals.c +@@ -29,7 +29,7 @@ + extern struct plugins_list_entry *plugin_list; + + /* functions */ +-void startup_handle_falling_child() ++void startup_handle_falling_child(int unused) + { + int i, j; + +@@ -42,7 +42,7 @@ void startup_handle_falling_child() + } + } + +-void handle_falling_child() ++void handle_falling_child(int unused) + { + struct plugins_list_entry *list = NULL; + int j, ret; +@@ -100,7 +100,7 @@ void handle_falling_child() + } + } + +-void ignore_falling_child() ++void ignore_falling_child(int unused) + { + pid_t cpid; + int status; diff --git a/net-analyzer/pmacct/files/pmacctd-conf.d b/net-analyzer/pmacct/files/pmacctd-conf.d new file mode 100644 index 000000000000..442be1eb9a86 --- /dev/null +++ b/net-analyzer/pmacct/files/pmacctd-conf.d @@ -0,0 +1,6 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Other options to pass to pmacctd +#OPTS="" + diff --git a/net-analyzer/pmacct/files/pmacctd-init.d b/net-analyzer/pmacct/files/pmacctd-init.d new file mode 100644 index 000000000000..fad4b49ccbe3 --- /dev/null +++ b/net-analyzer/pmacct/files/pmacctd-init.d @@ -0,0 +1,40 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +PMACCTDDIR=${PMACCTDDIR:-/etc/pmacctd} +if [ ${SVCNAME} != "pmacctd" ]; then + PMACCTDPID="/run/${SVCNAME}.pid" +else + PMACCTDPID="/run/pmacctd.pid" +fi +PMACCTDCONF="${PMACCTDDIR}/${SVCNAME}.conf" + +depend() { + need net +} + +checkconfig() { + if [ ! -e ${PMACCTDCONF} ] ; then + eerror "You need an ${PMACCTDCONF} file to run pmacctd" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start \ + --pidfile "${PMACCTDPID}" \ + --exec /usr/sbin/"${SVCNAME}" \ + -- -D -f "${PMACCTDCONF}" -F "${PMACCTDPID}" ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop \ + --pidfile "${PMACCTDPID}" \ + --exec /usr/sbin/"${SVCNAME}" + eend $? +} diff --git a/net-analyzer/pmacct/files/pmacctd.service b/net-analyzer/pmacct/files/pmacctd.service new file mode 100644 index 000000000000..a2dbb8c45846 --- /dev/null +++ b/net-analyzer/pmacct/files/pmacctd.service @@ -0,0 +1,19 @@ +[Unit] +Description=promiscuous mode accounting daemon +After=network.target + +[Service] +ProtectSystem=full +ProtectHome=true +ProtectHostname=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +Type=forking +ExecStart=/usr/sbin/pmacctd -f /etc/pmacctd/pmacctd.conf -i %I + +[Install] +WantedBy=multi-user.target + diff --git a/net-analyzer/pmacct/files/sfacctd.service b/net-analyzer/pmacct/files/sfacctd.service new file mode 100644 index 000000000000..7a334e0ffadd --- /dev/null +++ b/net-analyzer/pmacct/files/sfacctd.service @@ -0,0 +1,18 @@ +[Unit] +Description=sflow accounting daemon +After=network.target + +[Service] +ProtectSystem=full +ProtectHome=true +ProtectHostname=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +Type=forking +ExecStart=/usr/sbin/sfacctd -f /etc/pmacctd/sfacctd.conf -i %I + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/pmacct/metadata.xml b/net-analyzer/pmacct/metadata.xml new file mode 100644 index 000000000000..97a9215d26a2 --- /dev/null +++ b/net-analyzer/pmacct/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="bgp-bins">Link BGP daemon binaries</flag> + <flag name="bmp-bins">Link BMP daemon binaries</flag> + <flag name="geoipv2">Enable support for GeoIP2 through <pkg>dev-libs/libmaxminddb</pkg> + </flag> + <flag name="jansson">Enable support for JSON through <pkg>dev-libs/jansson</pkg> + </flag> + <flag name="kafka">Enable support for Apache Kafka through <pkg>dev-libs/librdkafka</pkg> + </flag> + <flag name="l2">Enable Layer-2 features and support</flag> + <flag name="ndpi">Enable support for nDPI through <pkg>net-libs/nDPI</pkg> + </flag> + <flag name="nflog">Enable support for NFLOG through uacctd</flag> + <flag name="rabbitmq">Enable support for RabbitMQ through <pkg>net-libs/rabbitmq-c</pkg> + </flag> + <flag name="st-bins">Link Streaming Telemetry daemon binaries</flag> + <flag name="traffic-bins">Link IPv4/IPv6 traffic accounting binaries</flag> + <flag name="zmq">Enable support for ZeroMQ through <pkg>net-libs/zeromq</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pmacct/pmacct-1.7.9.ebuild b/net-analyzer/pmacct/pmacct-1.7.9.ebuild new file mode 100644 index 000000000000..9067df99452c --- /dev/null +++ b/net-analyzer/pmacct/pmacct-1.7.9.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs systemd + +DESCRIPTION="A network tool to gather IP traffic information" +HOMEPAGE="http://www.pmacct.net/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pmacct/pmacct" + inherit git-r3 +else + SRC_URI="https://github.com/pmacct/pmacct/releases/download/v${PV}/${P}.tar.gz + http://www.pmacct.net/${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="+bgp-bins +bmp-bins geoipv2 jansson kafka +l2 mysql ndpi nflog postgres rabbitmq sqlite +st-bins +traffic-bins zmq" + +REQUIRED_USE=" + kafka? ( jansson ) + rabbitmq? ( jansson ) +" + +RDEPEND="dev-libs/libcdada + net-libs/libpcap + geoipv2? ( dev-libs/libmaxminddb ) + jansson? ( dev-libs/jansson:= ) + kafka? ( dev-libs/librdkafka ) + mysql? ( + dev-db/mysql-connector-c:0= + sys-process/numactl + ) + ndpi? ( >=net-libs/nDPI-3.2:= ) + nflog? ( net-libs/libnetfilter_log ) + postgres? ( dev-db/postgresql:* ) + rabbitmq? ( net-libs/rabbitmq-c ) + sqlite? ( =dev-db/sqlite-3* ) + zmq? ( >=net-libs/zeromq-4.2.0:= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.9-build-system.patch + "${FILESDIR}"/${PN}-1.7.9-c23.patch +) + +DOCS=( + CONFIG-KEYS ChangeLog FAQS QUICKSTART UPGRADE + docs/INTERNALS docs/PLUGINS docs/SIGNALS +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + tc-export CC AR RANLIB + + local myeconfargs=( + $(use_enable bgp-bins) + $(use_enable bmp-bins) + $(use_enable geoipv2) + $(use_enable jansson) + $(use_enable kafka) + $(use_enable l2) + $(use_enable mysql) + $(use_enable ndpi) + $(use_enable nflog) + $(use_enable postgres pgsql) + $(use_enable rabbitmq) + $(use_enable sqlite sqlite3) + $(use_enable st-bins) + $(use_enable traffic-bins) + $(use_enable zmq) + + --without-external-deps + --disable-ebpf + --disable-debug + --disable-mongodb + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + local dirname + for dirname in examples sql; do + dodoc -r ${dirname} + done + + newinitd "${FILESDIR}"/pmacctd-init.d pmacctd + newconfd "${FILESDIR}"/pmacctd-conf.d pmacctd + + systemd_dounit "${FILESDIR}"/{nfacctd,pmacctd,sfacctd}.service + + insinto /etc/pmacctd + newins examples/pmacctd-imt.conf.example pmacctd.conf +} diff --git a/net-analyzer/pmacct/pmacct-9999.ebuild b/net-analyzer/pmacct/pmacct-9999.ebuild new file mode 100644 index 000000000000..7e3d57215f5a --- /dev/null +++ b/net-analyzer/pmacct/pmacct-9999.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs systemd + +DESCRIPTION="A network tool to gather IP traffic information" +HOMEPAGE="http://www.pmacct.net/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pmacct/pmacct" + inherit git-r3 +else + SRC_URI="https://github.com/pmacct/pmacct/releases/download/v${PV}/${P}.tar.gz + http://www.pmacct.net/${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="+bgp-bins +bmp-bins geoipv2 jansson kafka +l2 mysql ndpi nflog postgres rabbitmq sqlite +st-bins +traffic-bins zmq" + +REQUIRED_USE=" + kafka? ( jansson ) + rabbitmq? ( jansson ) +" + +RDEPEND="dev-libs/libcdada + net-libs/libpcap + geoipv2? ( dev-libs/libmaxminddb ) + jansson? ( dev-libs/jansson:= ) + kafka? ( dev-libs/librdkafka ) + mysql? ( + dev-db/mysql-connector-c:0= + sys-process/numactl + ) + ndpi? ( >=net-libs/nDPI-3.2:= ) + nflog? ( net-libs/libnetfilter_log ) + postgres? ( dev-db/postgresql:* ) + rabbitmq? ( net-libs/rabbitmq-c ) + sqlite? ( =dev-db/sqlite-3* ) + zmq? ( >=net-libs/zeromq-4.2.0:= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.9-build-system.patch +) + +DOCS=( + CONFIG-KEYS ChangeLog FAQS QUICKSTART UPGRADE + docs/INTERNALS docs/PLUGINS docs/SIGNALS +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + tc-export CC AR RANLIB + + local myeconfargs=( + $(use_enable bgp-bins) + $(use_enable bmp-bins) + $(use_enable geoipv2) + $(use_enable jansson) + $(use_enable kafka) + $(use_enable l2) + $(use_enable mysql) + $(use_enable ndpi) + $(use_enable nflog) + $(use_enable postgres pgsql) + $(use_enable rabbitmq) + $(use_enable sqlite sqlite3) + $(use_enable st-bins) + $(use_enable traffic-bins) + $(use_enable zmq) + + --without-external-deps + --disable-ebpf + --disable-debug + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + local dirname + for dirname in examples sql; do + dodoc -r ${dirname} + done + + newinitd "${FILESDIR}"/pmacctd-init.d pmacctd + newconfd "${FILESDIR}"/pmacctd-conf.d pmacctd + + systemd_dounit "${FILESDIR}"/{nfacctd,pmacctd,sfacctd}.service + + insinto /etc/pmacctd + newins examples/pmacctd-imt.conf.example pmacctd.conf +} diff --git a/net-analyzer/pnp4nagios/Manifest b/net-analyzer/pnp4nagios/Manifest new file mode 100644 index 000000000000..4e4f6a6af8a7 --- /dev/null +++ b/net-analyzer/pnp4nagios/Manifest @@ -0,0 +1,2 @@ +DIST pnp4nagios-0.6.26_p20230918.tar.gz 3036216 BLAKE2B 101b84623bec93cb3c3c2c5f5785a308afeeff6c7a89504ec5e39812be5e0807eaf7dabf720a69e58a3dd7bfd654f124dd26030deab60f5c6e0a31bd665e83e6 SHA512 4b03c5bf3d00339627e22cf14669b21433f926d6e698933833911a40d8b324d5a70dc5187ee5291f48bfcc12e9b51aaba24c8d263d5f25081544f97dce372890 +DIST pnp4nagios-0.6.26_p20241118.tar.gz 3037069 BLAKE2B bbbf9740e79ab0720cccb5c973f75440d3a4f01da898edf5c2e787227a0b5ef0d36051f1b13fe01d87d9115358e33c1ba7e84d43fce8e7ca69546074bbb0592c SHA512 43990847c74c9da1d94ce56341d4f873c2d1023282c81656f590dddf9823f0e3f42148cf7354e8d1c87c677f0f87c2ca01f4bc0d19622f423ac42d524572a682 diff --git a/net-analyzer/pnp4nagios/files/98_pnp4nagios-2.4.conf b/net-analyzer/pnp4nagios/files/98_pnp4nagios-2.4.conf new file mode 100644 index 000000000000..5944a2e2f70f --- /dev/null +++ b/net-analyzer/pnp4nagios/files/98_pnp4nagios-2.4.conf @@ -0,0 +1,29 @@ +<IfDefine PNP> + + Alias /pnp4nagios /usr/share/pnp/ + + <Directory /usr/share/pnp> + AllowOverride AuthConfig + Require all granted + + <IfModule rewrite_module> + # Turn on URL rewriting + RewriteEngine On + Options +FollowSymLinks + + # Installation directory + RewriteBase /pnp4nagios + + # Protect application and system files from being viewed + RewriteRule ^(application|modules|system) - [F,L] + + # Allow any files or directories that exist to be displayed directly + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + + # Rewrite all other URLs to index.php/URL + RewriteRule .* index.php/$0 [PT,L] + </IfModule> + </Directory> + +</IfDefine> diff --git a/net-analyzer/pnp4nagios/files/npcd.initd b/net-analyzer/pnp4nagios/files/npcd.initd new file mode 100644 index 000000000000..23eb77aa63a4 --- /dev/null +++ b/net-analyzer/pnp4nagios/files/npcd.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +command="/usr/bin/npcd" +command_args="-f /etc/pnp/npcd.cfg -d" + +depend() { + need net +} + +reload() { + ebegin "Reloading npcd" + kill -HUP `pgrep npcd` + eend $? "Failed to reload npcd" +} diff --git a/net-analyzer/pnp4nagios/files/pnp4nagios-0.6.14-makefile.patch b/net-analyzer/pnp4nagios/files/pnp4nagios-0.6.14-makefile.patch new file mode 100644 index 000000000000..469389d3ee31 --- /dev/null +++ b/net-analyzer/pnp4nagios/files/pnp4nagios-0.6.14-makefile.patch @@ -0,0 +1,32 @@ +diff -Naur pnp4nagios-0.6.14.orig/src/Makefile.in pnp4nagios-0.6.14/src/Makefile.in +--- pnp4nagios-0.6.14.orig/src/Makefile.in 2011-08-10 17:18:46.000000000 +0200 ++++ pnp4nagios-0.6.14/src/Makefile.in 2011-08-10 17:19:51.000000000 +0200 +@@ -83,7 +83,7 @@ + # + ############################### + npcd: npcd.c $(NPCDOBJS) $(NPCDHEAD) +- $(CC) $(CFLAGS) -o $@ npcd.c $(NPCDOBJS) -lpthread ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ npcd.c $(NPCDOBJS) -lpthread + + ############################### + # +@@ -118,7 +118,6 @@ + + install: + $(MAKE) install-basic +- $(MAKE) strip-post-install + + install-unstripped: + $(MAKE) install-basic +diff -Naur pnp4nagios-0.6.14.orig/configure pnp4nagios-0.6.14/configure +--- pnp4nagios-0.6.14.orig/configure 2011-08-12 09:01:12.000000000 +0200 ++++ pnp4nagios-0.6.14/configure 2011-08-12 09:03:32.000000000 +0200 +@@ -5565,7 +5565,7 @@ + PERFDATA_LOG="${localstatedir}/perfdata.log" + PERFDATA_DIR="${localstatedir}/perfdata" + PERFDATA_SPOOL_DIR="${localstatedir}/spool" +- mandir="\${prefix}/man" ++ mandir="/usr/share/man" + ;; + esac + diff --git a/net-analyzer/pnp4nagios/metadata.xml b/net-analyzer/pnp4nagios/metadata.xml new file mode 100644 index 000000000000..69b6839acfa7 --- /dev/null +++ b/net-analyzer/pnp4nagios/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <use> + <flag name="nagios"> + Build against <pkg>net-analyzer/nagios-core</pkg> (the default) + </flag> + <flag name="icinga"> + Build against <pkg>net-analyzer/icinga2</pkg> instead of + <pkg>net-analyzer/nagios-core</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20230918.ebuild b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20230918.ebuild new file mode 100644 index 000000000000..5ef07a6cac34 --- /dev/null +++ b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20230918.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A performance data analyzer for nagios" +HOMEPAGE="https://github.com/ConSol-Monitoring/pnp" +GH_COMMIT="e52677d3994d35197db68120d7089906a174a3f9" +SRC_URI="https://github.com/ConSol-Monitoring/pnp/archive/${GH_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/pnp-${GH_COMMIT}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="apache2 icinga +nagios" +KEYWORDS="amd64 ~ppc ppc64 ~sparc x86" + +REQUIRED_USE="^^ ( icinga nagios )" + +# Some things (sync mode, for one) are broken with nagios-4.x, but since +# nagios-3.x has been end-of-life'd, we don't have much choice here but +# to accept it. +DEPEND="net-analyzer/rrdtool[graph,perl] + icinga? ( + acct-group/icinga + acct-user/icinga + ) + nagios? ( + acct-group/nagios + acct-user/nagios + )" + +# A list of modules used in our Apache config file. +APACHE_MODS="apache2_modules_alias," # "Alias" directive +APACHE_MODS+="apache2_modules_authz_core," # "Require" directive +APACHE_MODS+="apache2_modules_rewrite" # "RewriteEngine" and friends + +RDEPEND="${DEPEND} + dev-lang/php:*[filter,gd,json(+),simplexml,xml,zlib] + media-fonts/dejavu + virtual/perl-Getopt-Long + virtual/perl-Time-HiRes + apache2? ( >=www-servers/apache-2.4[${APACHE_MODS}] )" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.14-makefile.patch" +) + +src_configure() { + local user_group=nagios + use icinga && user_group=icinga + + local myeconfargs=( + --sysconfdir="${EPREFIX}"/etc/pnp + --datarootdir="${EPREFIX}"/usr/share/pnp + --localstatedir="${EPREFIX}"/var/lib/pnp + --with-nagios-user="${user_group}" + --with-nagios-group="${user_group}" + --with-perfdata-logfile="${EPREFIX}"/var/log/pnp/process_perfdata.log + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + # The default target just shows a help + emake all +} + +src_install() { + # Don't use INSTALL_OPTS because they set insecure permissions on + # all of /etc/pnp (https://github.com/lingej/pnp4nagios/issues/140). + emake INSTALL_OPTS="" DESTDIR="${D}" install install-config + einstalldocs + newinitd "${FILESDIR}"/npcd.initd npcd + rm "${ED}/usr/share/pnp/install.php" || \ + die "unable to remove ${ED}/usr/share/pnp/install.php" + + # Fix CVE-2012-3457 (Gentoo bug 430358) + fperms o-rwx /etc/pnp/process_perfdata.cfg + + if use apache2 ; then + insinto /etc/apache2/modules.d + newins "${FILESDIR}"/98_pnp4nagios-2.4.conf 98_pnp4nagios.conf + fi + + # The nagios or icinga user needs to write performance data to the + # perfdata-dir... + local user_group=nagios + use icinga && user_group=icinga + fowners ":${user_group}" /var/lib/pnp/{,perfdata,spool} + fperms g+rwx /var/lib/pnp/{,perfdata,spool} + + # and likewise for its logs... + dodir /var/log/pnp + fowners ":${user_group}" /var/log/pnp + fperms g+rwx /var/log/pnp + + # and its statistics. This one is arguably the responsibility of the + # build system, since process_perfdata.cfg refers to this location. + dodir /var/lib/pnp/stats + fowners ":${user_group}" /var/lib/pnp/stats + fperms g+rwx /var/lib/pnp/stats +} + +pkg_postinst() { + elog "To enable the pnp4nagios web front-end, please visit" + elog "${EROOT}/etc/conf.d/apache2 and add \"-D PNP -D PHP\"" + elog "to APACHE2_OPTS. Then pnp4nagios will be available at," + elog + elog " http://localhost/pnp4nagios" + elog +} diff --git a/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20241118.ebuild b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20241118.ebuild new file mode 100644 index 000000000000..f49715628d8f --- /dev/null +++ b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26_p20241118.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A performance data analyzer for nagios" +HOMEPAGE="https://github.com/ConSol-Monitoring/pnp" +GH_COMMIT="f4a831e7bd51651bb427931ab492d63197e77e0e" +SRC_URI="https://github.com/ConSol-Monitoring/pnp/archive/${GH_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/pnp-${GH_COMMIT}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="apache2 icinga +nagios" + +REQUIRED_USE="^^ ( icinga nagios )" + +# Some things (sync mode, for one) are broken with nagios-4.x, but since +# nagios-3.x has been end-of-life'd, we don't have much choice here but +# to accept it. +DEPEND="net-analyzer/rrdtool[graph,perl] + icinga? ( + acct-group/icinga + acct-user/icinga + ) + nagios? ( + acct-group/nagios + acct-user/nagios + )" + +# A list of modules used in our Apache config file. +APACHE_MODS="apache2_modules_alias," # "Alias" directive +APACHE_MODS+="apache2_modules_authz_core," # "Require" directive +APACHE_MODS+="apache2_modules_rewrite" # "RewriteEngine" and friends + +RDEPEND="${DEPEND} + dev-lang/php:*[filter,gd,json(+),simplexml,xml,zlib] + media-fonts/dejavu + virtual/perl-Getopt-Long + virtual/perl-Time-HiRes + apache2? ( >=www-servers/apache-2.4[${APACHE_MODS}] )" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.14-makefile.patch" +) + +src_configure() { + local user_group=nagios + use icinga && user_group=icinga + + local myeconfargs=( + --sysconfdir="${EPREFIX}"/etc/pnp + --datarootdir="${EPREFIX}"/usr/share/pnp + --localstatedir="${EPREFIX}"/var/lib/pnp + --with-nagios-user="${user_group}" + --with-nagios-group="${user_group}" + --with-perfdata-logfile="${EPREFIX}"/var/log/pnp/process_perfdata.log + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + # The default target just shows a help + emake all +} + +src_install() { + # Don't use INSTALL_OPTS because they set insecure permissions on + # all of /etc/pnp (https://github.com/lingej/pnp4nagios/issues/140). + emake INSTALL_OPTS="" DESTDIR="${D}" install install-config + einstalldocs + newinitd "${FILESDIR}"/npcd.initd npcd + rm "${ED}/usr/share/pnp/install.php" || \ + die "unable to remove ${ED}/usr/share/pnp/install.php" + + # Fix CVE-2012-3457 (Gentoo bug 430358) + fperms o-rwx /etc/pnp/process_perfdata.cfg + + if use apache2 ; then + insinto /etc/apache2/modules.d + newins "${FILESDIR}"/98_pnp4nagios-2.4.conf 98_pnp4nagios.conf + fi + + # The nagios or icinga user needs to write performance data to the + # perfdata-dir... + local user_group=nagios + use icinga && user_group=icinga + fowners ":${user_group}" /var/lib/pnp/{,perfdata,spool} + fperms g+rwx /var/lib/pnp/{,perfdata,spool} + + # and likewise for its logs... + dodir /var/log/pnp + fowners ":${user_group}" /var/log/pnp + fperms g+rwx /var/log/pnp + + # and its statistics. This one is arguably the responsibility of the + # build system, since process_perfdata.cfg refers to this location. + dodir /var/lib/pnp/stats + fowners ":${user_group}" /var/lib/pnp/stats + fperms g+rwx /var/lib/pnp/stats +} + +pkg_postinst() { + elog "To enable the pnp4nagios web front-end, please visit" + elog "${EROOT}/etc/conf.d/apache2 and add \"-D PNP -D PHP\"" + elog "to APACHE2_OPTS. Then pnp4nagios will be available at," + elog + elog " http://localhost/pnp4nagios" + elog +} diff --git a/net-analyzer/poink/Manifest b/net-analyzer/poink/Manifest new file mode 100644 index 000000000000..cad1d56652a1 --- /dev/null +++ b/net-analyzer/poink/Manifest @@ -0,0 +1 @@ +DIST poink-2.03.tar.gz 11427 BLAKE2B eeea10cbc7ba0b29d87de8c784ce0a68325ede592b190d570b71461c126517610309540876e46e6a1c49dbec8ef8009a4280e54a0e10e18086f27ecc8ae78b73 SHA512 25299093f3e70af97da85f0e7bbe9032466b3ef3ad886d4e658a0cfc11793570c2fb1eefd3330fa549517d033297e5ac3e90f7012a122c8ad988625372d986a8 diff --git a/net-analyzer/poink/files/poink-2.03-signed-char-fixup.patch b/net-analyzer/poink/files/poink-2.03-signed-char-fixup.patch new file mode 100644 index 000000000000..deaff51bcf86 --- /dev/null +++ b/net-analyzer/poink/files/poink-2.03-signed-char-fixup.patch @@ -0,0 +1,13 @@ +diff -Nuar poink-2.03.orig/poink.c poink-2.03/poink.c +--- a/poink.c 2002-11-03 03:12:56.000000000 -0800 ++++ b/poink.c 2007-06-11 11:59:09.763490735 -0700 +@@ -109,7 +109,8 @@ + SOCKADDR_IN s; + struct timeval ping_start, ping_end; + struct sigaction siga; +- char ch, pingerror[100]; ++ signed char ch; // EOF is -1 ++ char pingerror[100]; + int delay=DEF_DELAY,timeout=DEF_TIMEOUT; + int suck, tmp, port=65535; + diff --git a/net-analyzer/poink/metadata.xml b/net-analyzer/poink/metadata.xml new file mode 100644 index 000000000000..7de0d30287fa --- /dev/null +++ b/net-analyzer/poink/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + A TCP/IP-based ping implementation. It does not require special + privileges and is designed for multiuser shell systems. It is + meant to be a secure replacement for the standard IPv4 network + monitoring tool. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/poink/poink-2.03.ebuild b/net-analyzer/poink/poink-2.03.ebuild new file mode 100644 index 000000000000..e9f173afff5a --- /dev/null +++ b/net-analyzer/poink/poink-2.03.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="TCP/IP-based ping implementation" +HOMEPAGE="https://directory.fsf.org/security/system/poink.html" +SRC_URI="https://ep09.pld-linux.org/~mmazur/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="" + +PATCHES=( "${FILESDIR}/${PN}-2.03-signed-char-fixup.patch" ) + +src_compile() { + emake \ + CFLAGS="${CFLAGS} ${LDFLAGS}" \ + CC="$(tc-getCC)" +} + +src_install() { + dobin poink poink6 + newman ping.1 poink.1 + dodoc README* ChangeLog +} diff --git a/net-analyzer/pontos/Manifest b/net-analyzer/pontos/Manifest new file mode 100644 index 000000000000..6947d8153e3e --- /dev/null +++ b/net-analyzer/pontos/Manifest @@ -0,0 +1,2 @@ +DIST pontos-25.7.2.tar.gz 405393 BLAKE2B 9c7ac529054cd330ce735a7f9af31f97d622da415d2681432436fcb11ba1ee635759de6edc9f586d9829374b72d38e7a4b4dcecd6543c172b96acbbcba9c281d SHA512 9eb9fd2f5a07bf87bf10fb1e1b0c8db1e3f724a7d9130af78f0e2dc6becae6ed49b251169310cda86184c28bb743d136d2aa312b20601e49e420740bc668a552 +DIST pontos-25.8.1.tar.gz 405571 BLAKE2B edf7405038e4af73730abf6b0c243ff7f93729c75c973c6a2fdb46bdcdbab65b928651b2fa6f201d0a0cb34a270e9a53aa989e5f00d112ea1cf5c2d4aefb6a4e SHA512 1c321c693ffc144671b460bfde1615fe71b44a3f967529675dc5f66626a953a2b620c1cb638f07edf69bf0108b9f8e827e6f0f9b3e84ba90762a42a110494803 diff --git a/net-analyzer/pontos/metadata.xml b/net-analyzer/pontos/metadata.xml new file mode 100644 index 000000000000..4ba12e9322fa --- /dev/null +++ b/net-analyzer/pontos/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + The pontos Python package is a collection of utilities, tools, classes + and functions maintained by Greenbone Networks. + It is needed to run tests on some Greenbone Vulnerability Management packages. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pontos/pontos-25.7.2.ebuild b/net-analyzer/pontos/pontos-25.7.2.ebuild new file mode 100644 index 000000000000..3be206777988 --- /dev/null +++ b/net-analyzer/pontos/pontos-25.7.2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry + +inherit distutils-r1 + +DESCRIPTION="Common utilities and tools maintained by Greenbone Networks" +HOMEPAGE=" + https://www.greenbone.net + https://github.com/greenbone/pontos/ + https://greenbone.github.io/pontos/ +" + +SRC_URI="https://github.com/greenbone/pontos/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + >=dev-python/colorful-0.5.4[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.5.11[${PYTHON_USEDEP}] + >=dev-python/packaging-20.3[${PYTHON_USEDEP}] + >=dev-python/httpx-0.23[${PYTHON_USEDEP}] + >=dev-python/rich-12.4.4[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}] + >=dev-python/semver-2.13[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.0[${PYTHON_USEDEP}] + >=dev-python/shtab-1.7.0[${PYTHON_USEDEP}] +" + +DEPEND="${RDEPEND}" + +EPYTEST_DESELECT=( + tests/git/test_git.py::GitExtendedTestCase::test_git_error + tests/version/commands/test_java.py::GetCurrentJavaVersionCommandTestCase::test_getting_version_without_version_config + tests/version/commands/test_java.py::VerifyJavaVersionCommandTestCase::test_verify_version_does_not_match +) + +distutils_enable_tests pytest diff --git a/net-analyzer/pontos/pontos-25.8.1.ebuild b/net-analyzer/pontos/pontos-25.8.1.ebuild new file mode 100644 index 000000000000..d1be80c70954 --- /dev/null +++ b/net-analyzer/pontos/pontos-25.8.1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry + +inherit distutils-r1 + +DESCRIPTION="Common utilities and tools maintained by Greenbone Networks" +HOMEPAGE=" + https://www.greenbone.net + https://github.com/greenbone/pontos/ + https://greenbone.github.io/pontos/ +" + +SRC_URI="https://github.com/greenbone/pontos/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/colorful-0.5.4[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.5.11[${PYTHON_USEDEP}] + >=dev-python/packaging-20.3[${PYTHON_USEDEP}] + >=dev-python/httpx-0.23[${PYTHON_USEDEP}] + >=dev-python/rich-12.4.4[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}] + >=dev-python/semver-2.13[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.0[${PYTHON_USEDEP}] + >=dev-python/shtab-1.7.0[${PYTHON_USEDEP}] +" + +DEPEND="${RDEPEND}" + +EPYTEST_DESELECT=( + tests/git/test_git.py::GitExtendedTestCase::test_git_error + tests/version/commands/test_java.py::GetCurrentJavaVersionCommandTestCase::test_getting_version_without_version_config + tests/version/commands/test_java.py::VerifyJavaVersionCommandTestCase::test_verify_version_does_not_match +) + +distutils_enable_tests pytest diff --git a/net-analyzer/portmon/Manifest b/net-analyzer/portmon/Manifest new file mode 100644 index 000000000000..f1c22c17f1de --- /dev/null +++ b/net-analyzer/portmon/Manifest @@ -0,0 +1 @@ +DIST portmon-2.0.tar.gz 107246 BLAKE2B 0f3d33aecca7d41a5af08c656bdb9665c9560aaee78dab7b02bf330d21ddde3fcc916a06b7b48ea1ae305b5188e62073065a8c745fd31310415b47ce3b29a733 SHA512 1feafd1a8701d269c2f2e36f46ef51eeda8975aeca85d6f720cf5805e3f8bd031eb681117fa9414e775ea46c543066deb3532e7cc7d26c655daf6163fac77e25 diff --git a/net-analyzer/portmon/files/portmon-2.0-fno-common.patch b/net-analyzer/portmon/files/portmon-2.0-fno-common.patch new file mode 100644 index 000000000000..bfe6a914635e --- /dev/null +++ b/net-analyzer/portmon/files/portmon-2.0-fno-common.patch @@ -0,0 +1,58 @@ +--- a/src/portmon.c ++++ b/src/portmon.c +@@ -35,6 +35,15 @@ + #include <getopt.h> + #endif + ++int report_flag; ++int daemonize_flag; ++ ++struct host_struct *hosts; ++char *err_msg; ++char logfile[STRLARGE]; ++int timeout; ++int verbose; ++ + void version(void) + { + printf("This is %s, version %s\n", PACKAGE, VERSION); +--- a/src/portmon.h ++++ b/src/portmon.h +@@ -31,8 +31,8 @@ + #define STRLARGE 512 + + // flags +-int report_flag; +-int daemonize_flag; ++extern int report_flag; ++extern int daemonize_flag; + + struct port + { +@@ -43,7 +43,7 @@ + }; + + // create an array of hosts +-struct host_struct ++extern struct host_struct + { + char name[STRMED]; + struct port ports[STRSMALL]; +@@ -52,13 +52,13 @@ + *hosts; + + // place to hold error messages +-char *err_msg; ++extern char *err_msg; + // place we log crap +-char logfile[STRLARGE]; ++extern char logfile[STRLARGE]; + // timeout (seconds) +-int timeout; ++extern int timeout; + // verbose mode +-int verbose; ++extern int verbose; + + // Functions in various files + diff --git a/net-analyzer/portmon/files/portmon.init b/net-analyzer/portmon/files/portmon.init new file mode 100644 index 000000000000..3fe1ea6a2819 --- /dev/null +++ b/net-analyzer/portmon/files/portmon.init @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# configuration is done in /etc/pormon.sh + +depend() { + need net +} + +checkconfig() { + if [ ! -e /etc/portmon/portmon.hosts ]; then + error " You need /etc/portmon/portmaon.hosts to run portmon." + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting portmon" + start-stop-daemon --start --quiet --exec /usr/sbin/portmon -- -d -c /etc/portmon/portmon.hosts + eend $? +} + +stop() { + checkconfig || return 1 + ebegin "Staring portmon" + start-stop-daemon --stopt --quiet --exec /usr/sbin/portmon +} diff --git a/net-analyzer/portmon/metadata.xml b/net-analyzer/portmon/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/portmon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/portmon/portmon-2.0-r2.ebuild b/net-analyzer/portmon/portmon-2.0-r2.ebuild new file mode 100644 index 000000000000..ce593ab853a8 --- /dev/null +++ b/net-analyzer/portmon/portmon-2.0-r2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Portmon is a network service monitoring daemon" +HOMEPAGE="http://aboleo.net/software/portmon/" +SRC_URI="http://aboleo.net/software/portmon/downloads/${P}.tar.gz" + +KEYWORDS="~amd64 ~ppc x86" +SLOT="0" +LICENSE="GPL-2" + +PATCHES=( + "${FILESDIR}"/${P}-fno-common.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf --sysconfdir=/etc/portmon +} + +src_install() { + into /usr + dosbin src/portmon + + doman extras/portmon.8 + + insinto /etc/portmon + doins extras/portmon.hosts.sample + dodoc AUTHORS BUGS README + + newinitd "${FILESDIR}"/portmon.init portmon +} diff --git a/net-analyzer/portsentry/Manifest b/net-analyzer/portsentry/Manifest new file mode 100644 index 000000000000..0dc45121d823 --- /dev/null +++ b/net-analyzer/portsentry/Manifest @@ -0,0 +1 @@ +DIST portsentry-1.2.tar.gz 48054 BLAKE2B e7baf49ed02fe0100a789737c263ca9bd4d2122f59f00fbffa5fc6fac6215926ee46d7fbcb1424a1ace76a8c2845ff915550695509d7bd6b7892a746d05f2ec1 SHA512 bcbea576816c654a9e165897ea51de3a4dde2940b05e26e785315fae5a5c7a0f697abfa2ace14d16e687e4a26f37c75cdaffefa1c5f98681f858dda22bcf3dae diff --git a/net-analyzer/portsentry/files/portsentry-1.2-conf.patch b/net-analyzer/portsentry/files/portsentry-1.2-conf.patch new file mode 100644 index 000000000000..54f78fb467bc --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry-1.2-conf.patch @@ -0,0 +1,17 @@ +--- a/portsentry.conf ++++ b/portsentry.conf +@@ -80,11 +80,11 @@ + ###################### + # + # Hosts to ignore +-IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore" ++IGNORE_FILE="/etc/portsentry/portsentry.ignore" + # Hosts that have been denied (running history) +-HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history" ++HISTORY_FILE="/etc/portsentry/portsentry.history" + # Hosts that have been denied this session only (temporary until next restart) +-BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked" ++BLOCKED_FILE="/etc/portsentry/portsentry.blocked" + + ############################## + # Misc. Configuration Options# diff --git a/net-analyzer/portsentry/files/portsentry-1.2-config.h.patch b/net-analyzer/portsentry/files/portsentry-1.2-config.h.patch new file mode 100644 index 000000000000..28c02b85e5af --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry-1.2-config.h.patch @@ -0,0 +1,11 @@ +--- a/portsentry_config.h ++++ b/portsentry_config.h +@@ -22,7 +22,7 @@ + + /* These are probably ok. Be sure you change the Makefile if you */ + /* change the path */ +-#define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf" ++#define CONFIG_FILE "/etc/portsentry/portsentry.conf" + + /* The location of Wietse Venema's TCP Wrapper hosts.deny file */ + #define WRAPPER_HOSTS_DENY "/etc/hosts.deny" diff --git a/net-analyzer/portsentry/files/portsentry-1.2-gcc.patch b/net-analyzer/portsentry/files/portsentry-1.2-gcc.patch new file mode 100644 index 000000000000..613808fe7225 --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry-1.2-gcc.patch @@ -0,0 +1,12 @@ +--- a/portsentry.c ++++ b/portsentry.c +@@ -1581,8 +1581,7 @@ + Usage (void) + { + printf ("PortSentry - Port Scan Detector.\n"); +- printf ("Copyright 1997-2003 Craig H. Rowland <craigrowland at users dot +-sourceforget dot net>\n"); ++ printf ("Copyright 1997-2003 Craig H. Rowland <craigrowland at users dot sourceforget dot net>\n"); + printf ("Licensing restrictions apply. Please see documentation\n"); + printf ("Version: %s\n\n", VERSION); + #ifdef SUPPORT_STEALTH diff --git a/net-analyzer/portsentry/files/portsentry-1.2-ignore.csh.patch b/net-analyzer/portsentry/files/portsentry-1.2-ignore.csh.patch new file mode 100644 index 000000000000..ec45dd1daac7 --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry-1.2-ignore.csh.patch @@ -0,0 +1,11 @@ +--- a/ignore.csh ++++ b/ignore.csh +@@ -35,7 +35,7 @@ + endif + + # Safe directory +-set SENTRYDIR=/usr/local/psionic/portsentry ++set SENTRYDIR=/etc/portsentry + set TMPFILE=portsentry.ignore.tmp + + if (-f $SENTRYDIR/portsentry.ignore) then diff --git a/net-analyzer/portsentry/files/portsentry.8 b/net-analyzer/portsentry/files/portsentry.8 new file mode 100644 index 000000000000..7c9d6a617262 --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry.8 @@ -0,0 +1,151 @@ +.TH PORTSENTRY 8 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +portsentry \- detect portscan activity +.SH SYNOPSIS +.B portsentry +.I "[ \-tcp | \-stcp | \-atcp ]" +.br +.B portsentry +.I "[ \-udp | \-sudp | \-audp ]" +.SH "DESCRIPTION" +This manual page documents briefly the +.BR portsentry +command. +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +.PP +.B portsentry +is a program that tries to detect portscans on network interfaces with the ability to detect stealth scans. On alarm portsentry can block the scanning machine via hosts.deny (see +.BR hosts_access (5), +firewall rule (see +.BR ipfwadm (8) , +.BR ipchains (8) +and +.BR iptables (8)) +or dropped route (see +.BR route (8)). +.SH OPTIONS +For details on the various modes see +.I /usr/doc/portsentry/README.install +. +.TP +.B \-tcp +tcp portscan detection on ports specified under +.I TCP_PORTS +in the config file +.IR /etc/portsentry/portsentry.conf . +.TP +.B \-stcp +As above but additionally detect stealth scans. +.TP +.B \-atcp +Advanced tcp or inverse mode. Portsentry binds to all unused ports below +.I ADVANCED_PORTS_TCP +given in the config file +.IR /etc/portsentry/portsentry.conf . + +.TP +.B \-udp +udp portscan detection on ports specified under +.I UDP_PORTS +in the config file +.IR /etc/portsentry/portsentry.conf . +.TP +.B \-sudp +As above but additionally detect "stealth" scans. +.TP +.B \-audp +Advanced udp or inverse mode. Portsentry binds to all unused ports below +.I ADVANCED_PORTS_UDP +given in the config file +.IR /etc/portsentry/portsentry.conf . + +.SH "CONFIGURATION FILES" +.B portsentry +keeps all its configuration files in +.BR /etc/portsentry. +.B portsentry.conf +is +.BR portsentry 's +main configuration file. See +.BR portsentry.conf (5) +for details. + +The file +.BR portsentry.ignore +contains a list of all hosts that are ignored, if they connect to a tripwired +port. It should contain at least the localhost(127.0.0.1), 0.0.0.0 and the IP addresses of all local interfaces. You can ignore whole subnets by using a notation <IP Address>/<Netmask Bits>. It is *not* recommend putting in every machine IP on your network. It may be important for you to see who is connecting to you, even if it is a "friendly" machine. This can help you detect internal host compromises faster. + +If you use the +.IR /etc/init.d/portsentry +script to start the daemon, +.BR portsentry.ignore +is rebuild on each start of the daemon using +.BR portsentry.ignore.static +and all the IP addresses found on the machine via +.BR ifconfig . + +.BR /etc/default/portsenty +specifies in which protocol modes +.B portsentry +should be startet from +.IR /etc/init.d/portsentry +There are currently two options: +.TP +.B TCP_MODE= +either +.BR tcp ", " stcp " or " atcp " (see " OPTIONS " above)." +.TP +.B UDP_MODE= +either +.BR udp ", " sudp " or " audp " (see " OPTIONS " above)." + +.PP +The options above correspond to portsentry's commandline arguments. For example +.B TCP_MODE="atcp" +has the same effect as to start portsentry using +.BR portsentry " " -atcp. +Only one mode per protocol can be started at a time (i.e. one tcp and one udp mode). + +.SH "FILES" +.BR /etc/portsentry/portsentry.conf +main configuration file +.TP +.BR /etc/portsentry/portsentry.ignore +IP addresses to ignore +.TP +.BR /etc/portsentry/portsentry.ignore.static +static IP addresses to ignore +.TP +.BR /etc/default/portsentry +startup options +.TP +.BR /etc/init.d/portsentry +script responsible for starting and stopping the daemon +.TP +.BR /var/lib/portsentry/portsentry.blocked.* +blocked hosts(cleared upon reload) +.TP +.BR /var/lib/portsentry/portsentry.history +history file +.LP +.SH "SEE ALSO" +.BR portsentry.conf(5), +.BR hosts_access(5), +.BR hosts_options(5), +.BR route(8), +.BR ipfwadm(8), +.BR ipchains(8), +.BR iptables(8), +.BR ifconfig(8) + +.BR /usr/share/doc/portsentry/README.install +.LP +.SH AUTHOR +.B portsentry +was written by Craig H. Howland +.B <crowland@users.sf.net>. + +This manual page was stitched together by Guido Guenther <agx@debian.org>, for the Debian GNU/Linux system (but may be used by others). Some parts are just a cut and paste from the original documentation. diff --git a/net-analyzer/portsentry/files/portsentry.conf.5 b/net-analyzer/portsentry/files/portsentry.conf.5 new file mode 100644 index 000000000000..314e2abb2a44 --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry.conf.5 @@ -0,0 +1,217 @@ +.TH PORTSENTRY.CONF 5 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +portsentry.conf \- portsentry´s main configuration file +.SH "DESCRIPTION" +This manual page documents briefly the format of +.BR portsentry ´s(8) +configuration file. +.SH OPTIONS +.TP +.B TCP_PORTS +A comma delimited string of TCP ports you want PortSentry to +listen to. This string can NOT have any spaces in it. You can put in as +many sockets as you want. PortSentry will try to bind them all up until +the default limit of 64. + +For the stealth scan detection modes, the ports are not "bound" per se, +but they are monitored at the socket level for connections. + +For the Advanced Stealth Scan Detection (see below) this list is *ignored* +.TP +.B UDP_PORTS +The same as above, except for UDP ports. You need to be +very careful with UDP mode as an attacker can forge a port sweep and +make you block any number of hosts. Use this option with caution, or +not at all if your host is a well-known Internet connected system. + +For the Advanced Stealth Scan Detection (see below) this list is *ignored* + +.TP +.B ADVANCED_PORTS_TCP +A number indicating the highest port number to +monitor down from. Any port *below* this number is then monitored. The +default is 1024 (reserved port range), but can be made as large as 65535 +(system max). I don't recommend going over 1024 with this option. + +.TP +.B ADVANCED_PORTS_UDP +Same as above, except for UDP. + +.TP +.B ADVANCED_EXCLUDE_TCP +A comma delimited string of TCP ports that should +be manually excluded from monitoring in Advanced mode. These are normally +ports that may get hit by mistake by remote clients and shouldn't cause +alarms (ident, SSL, etc). + +.TP +.B ADVANCED_EXCLUDE_UDP +Same as above, except for UDP. + +.TP +.B IGNORE_FILE +The path to the file that contains IP addresses of hosts you +want to always be ignored. + +.TP +.B BLOCKED_FILE +The path to the file that contains the IP addresses of +blocked hosts. + +.TP +.B RESOLVE_HOST - This option turns off DNS resolution for +hosts. If you have a slow DNS server it may be more effective +to turn off resolution. + +.TP +.B BLOCK_UDP +This option disables all automatic responses to UDP probes. +Because UDP can be easily forged, it may allow an attacker to start a +denial of service attack against the protected host, causing it to block +all manner of hosts that should normally be left alone. Setting this option +to "0" will disable all responses, although the connects are still logged. +This option is mainly useful for Internet exposed hosts. For internal hosts +you should leave this enabled. If someone internally is firing spoofed +packets at you, then you have a much bigger problem than a denial of service. + +.TP +.B BLOCK_TCP +Same as above, but for TCP. Packet forgery is not as big a problem +though because PortSentry waits for a full connect to occur and this is much +harder to forge in the basic modes. Leave this enabled, even for +Internet connected hosts. For stealth scan detection modes the UDP warning +applies: + + An attacker can cause you to block hosts you don't want to + through packet forgery. I wouldn't worry about this until it is a + problem, but you should be aware of it. + +.TP +.B KILL_ROUTE +This is the command to run to drop the offending route(see +.BR route (8)) +if an attack is detected. This is the *full path* to the route command +along with the necessary parameters to make the command work. The macro +.B $TARGET$ +will be substituted with the attacking host IP and is +REQUIRED in this option. Your gateway should be a *dead host* on the +local subnet. On some systems though you can just put in the localhost +address (127.0.0.1) and this will probably work. All packets from the +target host will get routed to this address so don't mess this up. +More modern route commands will include a "-blackhole" or "-reject" flag. +Check your man(1) pages and if your route command supports this feature +you should use it (although we recommend using packet filtering +instead, see below). + +Also be aware that this creates what is known as an "asynchronous +route" which basically means packets enter your host via one route +and are sent out on another (dead) route. This works OK for full +TCP connect requests, but for UDP and stealth scan modes it +still allows packets to activate PortSentry and you may get a +series of "already blocked" alarms by PortSentry. For UDP scans +this method prevents ICMP messages from returning to the attacker +so all ports appear open. However, if the attacker is performing +an actual exploit with UDP the drop route method will not work. +The asynchronous route allows the packet to hit the system and the +attacker could perform a "blind" attack with UDP if they know what +the responses are going to be. + +By far the best method is to use the local packet filter (see +.BR ipfwadm (8), +.BR ipchains (8), +or +.BR iptables (8)). +This is a much cleaner solution and is +detailed in the config file. The macro +.B $PORT$ +will substitute the port +that was connected to by the attacker, but this is NOT required for this +option. The macro $MODE$ reports what mode the blocking occurred in +(tcp, udp, stcp, sudp, atcp, audp) but is also NOT required. + +.TP +.B KILL_HOSTS_DENY +This is the format of the string to drop into the +hosts.deny file that TCP wrappers uses(see +.BR hosts_access (5), +and +.BR hosts_options (5)). +Again the +.B $TARGET$ +macro is +expanded out to be the IP of the attacker and is required. You can +also drop in any TCP wrapper escape codes here as well (%h, twist, +etc). The macro +.B $PORT$ +will substitute the port that was connected to +by the attacker, but this is NOT required for this option. +The macro $MODE$ reports what mode the blocking occurred in +(tcp, udp, stcp, sudp, atcp, audp) but is also NOT required. + +.TP +.B KILL_RUN_CMD +This is a command you want run *before* the route +is dropped to the attacker. You can put in any program/script you want +executed when an attack is detected. WE NEVER RECOMMEND PUTTING IN +RETALIATORY ACTION AGAINST AN ATTACKING HOST. Virtually every time you're +are port scanned the host doing the scanning has been compromised itself. +Therefore, if you retaliate you are probably attacking an innocent(?) +party. Also the goal of security is to make the person GO AWAY. You don't +want to irritate them into making a personal vendetta against you. +Remember, even a 13 year old can run a [insert favorite D.O.S. program +here] attack against you from their Windows box to make your life +miserable. As above, the +.BR $TARGET$ , +.B $PORT$ +and +.B $MODE$ +macros are available to you but they are not required with this option as above. + +.TP +.B KILL_RUN_CMD_FIRST +Setting this to "1" makes the command above run before the route is +dropped. Setting it to "0" makes the command run aftter the blocking +has occurred. + +.TP +.B SCAN_TRIGGER +PortSentry has a state engine that will remember hosts +that connected to it. Setting this value will tell PortSentry to allow X +number of grace port hits before it reacts. This will detect both +sequential and random port sweeps. The default is 0 which will react +immediately. A setting of 1 or 2 will reduce false alarms, anything +higher is probably too much as anything more than 3 hits to different +ports is pretty suspicious behavior. Usually you can leave this at 0 +without any consequence, with the exception of Advanced stealth scan +detection modes where you may create a "hair trigger" if you aren't +careful. Use your own discretion. + +.TP +.B PORT_BANNER +A text banner you want displayed to the connecting host if +the PortSentry is activated. Leave this commented out if you don't want this +feature. If you do use it, try not to taunt the person too badly. We +recommend keeping it professional and to the point. The banner is *not* +displayed when stealth scan detection modes are used. + +.LP +.SH "SEE ALSO" +.BR portsentry(8), +.BR hosts_access(5), +.BR hosts_options(5), +.BR route(8), +.BR ipfwadm(8), +.BR ipchains(8) + +.BR /usr/share/doc/portsentry/README.install +.LP +.SH AUTHOR +.B portsentry +was written by Craig H. Howland +.B <crowland@users.sf.net>. + +This manual page is essentially just a "cut and paste" from the README.install file and was done by Guido Guenther <agx@debian.org>(hopefully without adding too many errors), for the Debian GNU/Linux system (but may be used by others). + + diff --git a/net-analyzer/portsentry/files/portsentry.confd b/net-analyzer/portsentry/files/portsentry.confd new file mode 100644 index 000000000000..49729516ef7c --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry.confd @@ -0,0 +1,12 @@ +# Config file for /etc/init.d/portsentry +# +# This file is read by /etc/init.d/portsentry. See the portsentry.8 +# manpage for details. +# +# The options in this file refer to commandline arguments (all in lowercase) +# of portsentry. Use only one tcp and udp mode at a time. +# + +#PORTSENTRY_MODES="udp tcp" +#PORTSENTRY_MODES="stcp sudp" +#PORTSENTRY_MODES="atcp audp"
\ No newline at end of file diff --git a/net-analyzer/portsentry/files/portsentry.rc6 b/net-analyzer/portsentry/files/portsentry.rc6 new file mode 100644 index 000000000000..1d89be401ada --- /dev/null +++ b/net-analyzer/portsentry/files/portsentry.rc6 @@ -0,0 +1,38 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# NB: Config is in /etc/conf.d/portsentry + +depend() { + need net +} + +checkconfig() { + if [ ! -e /etc/portsentry/portsentry.conf ] ; then + eerror "You need an /etc/portsentry/portsentry.conf file" + eerror "There is a sample in /usr/share/doc/portsentry" + return 1 + fi + if [ -z "$PORTSENTRY_MODES" ] ; then + eerror "You need to setup your PORTSENTRY_MODES first" + eerror "Check /etc/conf.d/portsentry that you've enabled some or all of them" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting portsentry" + for mode in $PORTSENTRY_MODES ; do + /usr/bin/portsentry -$mode + result=$(( $result + $? )) + done + eend $result +} + +stop() { + ebegin "Stopping portsentry" + killall portsentry + eend $? +} diff --git a/net-analyzer/portsentry/metadata.xml b/net-analyzer/portsentry/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/portsentry/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/portsentry/portsentry-1.2-r1.ebuild b/net-analyzer/portsentry/portsentry-1.2-r1.ebuild new file mode 100644 index 000000000000..ae9657ed17ad --- /dev/null +++ b/net-analyzer/portsentry/portsentry-1.2-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Automated port scan detector and response tool" +# Seems like CISCO took the site down? +HOMEPAGE="https://sourceforge.net/projects/sentrytools/" +SRC_URI="https://downloads.sourceforge.net/sentrytools/${P}.tar.gz" +S="${WORKDIR}"/${PN}_beta + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ppc x86 ~x64-macos" + +RDEPEND="kernel_Darwin? ( app-shells/tcsh )" + +PATCHES=( + "${FILESDIR}"/${P}-conf.patch + "${FILESDIR}"/${P}-config.h.patch + "${FILESDIR}"/${P}-gcc.patch + "${FILESDIR}"/${P}-ignore.csh.patch +) + +src_compile() { + local target + + if use kernel_Darwin ; then + target="osx" + elif use kernel_linux ; then + target="linux" + elif use kernel_SunOS ; then + target="solaris" + fi + + if [[ -z "${target}" ]] ; then + elog "Using 'generic' target for your platform" + target="generic" + else + elog "Using '${target}' (detected) target for your platform" + fi + + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" "${target}" +} + +src_install() { + doman "${FILESDIR}"/{portsentry.8,portsentry.conf.5} + + dobin portsentry ignore.csh + dodoc README* CHANGES CREDITS + newdoc portsentry.ignore portsentry.ignore.sample + newdoc portsentry.conf portsentry.conf.sample + + insinto /etc/portsentry + newins portsentry.ignore portsentry.ignore.sample + newins portsentry.conf portsentry.conf.sample + + newinitd "${FILESDIR}"/portsentry.rc6 portsentry + newconfd "${FILESDIR}"/portsentry.confd portsentry +} diff --git a/net-analyzer/prettyping/Manifest b/net-analyzer/prettyping/Manifest new file mode 100644 index 000000000000..5dcbbe05c59e --- /dev/null +++ b/net-analyzer/prettyping/Manifest @@ -0,0 +1 @@ +DIST prettyping-1.0.1.tar.gz 10104 BLAKE2B 41158972fa41fcfaf078fd8fa4b9af10e2d3e65d547f81f0a6daf826f0a1c725de97e14dc597624d2c9281492d94c4b5cf7e6f40e9743aea0792ece0f84211fc SHA512 967626f11cd58fd9a0ce91a320caf6b6a296681ed809e04188f0cfe00d03c80a3620bf4d3ec86e855be363810763ff3ccd8bb0a959d03e62b31edba2cfae7f79 diff --git a/net-analyzer/prettyping/metadata.xml b/net-analyzer/prettyping/metadata.xml new file mode 100644 index 000000000000..5ffb81f5e580 --- /dev/null +++ b/net-analyzer/prettyping/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + 'prettyping' is a wrapper around the standard 'ping' tool, + making the output prettier, more colorful, more compact, + and easier to read. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/prettyping/prettyping-1.0.1.ebuild b/net-analyzer/prettyping/prettyping-1.0.1.ebuild new file mode 100644 index 000000000000..284ed8a7c3b4 --- /dev/null +++ b/net-analyzer/prettyping/prettyping-1.0.1.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Ping wrapper that produces coloured, easily readable output" +HOMEPAGE="https://denilson.sa.nom.br/prettyping/" +SRC_URI="https://github.com/denilsonsa/prettyping/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~x86" + +RDEPEND="app-shells/bash + net-misc/iputils + app-alternatives/awk" + +src_install() { + dobin prettyping +} diff --git a/net-analyzer/pypacker/Manifest b/net-analyzer/pypacker/Manifest new file mode 100644 index 000000000000..f746ae904f44 --- /dev/null +++ b/net-analyzer/pypacker/Manifest @@ -0,0 +1 @@ +DIST pypacker-v5.2.tar.bz2 544026 BLAKE2B 3401b47a496e8c76d2b925e63c43838d2a05af01655a3e470ddfd0c2c57ab6b37ba1b9acd49386232b5c0fb4bc8d061f8992eac07f5729306502fa76413c51f5 SHA512 3ccb82ff2a352553819991c0e24fb6da8a26091f5cdced3d3358192ecf6598153fb3b36d48b1f51cdc1dd7f54e136c073e8e5a2f3fb050af24f83c77e1bda3b4 diff --git a/net-analyzer/pypacker/metadata.xml b/net-analyzer/pypacker/metadata.xml new file mode 100644 index 000000000000..dae0ad56c5ba --- /dev/null +++ b/net-analyzer/pypacker/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <maintainer> + <email>michael.stahn.42@googlemail.com</email> + <name>Michael Stahn</name> + </maintainer> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/pypacker/pypacker-5.2.ebuild b/net-analyzer/pypacker/pypacker-5.2.ebuild new file mode 100644 index 000000000000..ea5c3cdfc13d --- /dev/null +++ b/net-analyzer/pypacker/pypacker-5.2.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Fast and simple packet creation and parsing library for Python" +HOMEPAGE="https://gitlab.com/mike01/pypacker" +SRC_URI="https://gitlab.com/mike01/pypacker/-/archive/v${PV}/pypacker-v${PV}.tar.bz2" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples" + +DOCS=( AUTHORS CHANGES HACKING README.md ) + +python_test() { + "${EPYTHON}" tests/test_pypacker.py || die +} + +python_install_all() { + distutils-r1_python_install_all + use examples && dodoc -r examples +} diff --git a/net-analyzer/python-gvm/Manifest b/net-analyzer/python-gvm/Manifest new file mode 100644 index 000000000000..30ec162209f8 --- /dev/null +++ b/net-analyzer/python-gvm/Manifest @@ -0,0 +1,2 @@ +DIST python-gvm-26.4.0.tar.gz 354900 BLAKE2B 0ac0d1e855d4015b649671d6a7ee88a23507d99cf6a8c40c84a774cb0cb12eb7dfd366e6cc2a0bb6348b48e9d96b9f431c4a5d0b8ffb51b1769d0fbd20f4979c SHA512 821fc0df07355bc6addcba7a8c74a7630ce5079d1e3e1f14bdb6a71e62d3b750c46223598fd0dc264c5b3826aaf4c1ebfe7d2c9f3b513598d405f5a70500e567 +DIST python-gvm-26.9.1.tar.gz 391799 BLAKE2B a212565558bd30a63b292e02d292b2f403b164726face65148c8a29ae5b6d6187d65382fbbfb1a3a139b8ebc5c10aa5f6f6132fee364d98e40502777d84b746b SHA512 10cdcd6d799ae4fdbf9aed21523f6db7be6764809c3c4503f21833e87db417b4562167a89f7227b7dce94603fe339c43d7d34f9bb46ac30c31e8630a9e13d419 diff --git a/net-analyzer/python-gvm/metadata.xml b/net-analyzer/python-gvm/metadata.xml new file mode 100644 index 000000000000..6060478b194e --- /dev/null +++ b/net-analyzer/python-gvm/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>foti.giuseppe@gmail.com</email> + <name>Giuseppe Foti</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + The Greenbone Vulnerability Management Python API library (python-gvm) is a collection of + APIs that help with remote controlling a Greenbone Security Manager (GSM) appliance and its + underlying Greenbone Vulnerability Manager (GVM). The library essentially abstracts accessing + the communication protocols Greenbone Management Protocol (GMP) and Open Scanner Protocol (OSP). + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/python-gvm/python-gvm-26.4.0.ebuild b/net-analyzer/python-gvm/python-gvm-26.4.0.ebuild new file mode 100644 index 000000000000..c945097f72c1 --- /dev/null +++ b/net-analyzer/python-gvm/python-gvm-26.4.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry + +inherit distutils-r1 + +DESCRIPTION="Greenbone Vulnerability Management Python Library" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/python-gvm/" +SRC_URI="https://github.com/greenbone/python-gvm/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.7.1[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + test? ( + >=net-analyzer/pontos-22.7.2[${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +distutils_enable_tests unittest + +src_prepare() { + distutils-r1_src_prepare + + # drop connection tests + rm -r tests/connections || die +} diff --git a/net-analyzer/python-gvm/python-gvm-26.9.1.ebuild b/net-analyzer/python-gvm/python-gvm-26.9.1.ebuild new file mode 100644 index 000000000000..1d65ebbc9a9b --- /dev/null +++ b/net-analyzer/python-gvm/python-gvm-26.9.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=poetry + +inherit distutils-r1 + +DESCRIPTION="Greenbone Vulnerability Management Python Library" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/python-gvm/" +SRC_URI="https://github.com/greenbone/python-gvm/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-3.4.0[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + test? ( + >=net-analyzer/pontos-22.7.2[${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +distutils_enable_tests unittest + +src_prepare() { + distutils-r1_src_prepare + + # drop connection tests + rm -r tests/connections || die +} diff --git a/net-analyzer/raddump/Manifest b/net-analyzer/raddump/Manifest new file mode 100644 index 000000000000..6911e995bb58 --- /dev/null +++ b/net-analyzer/raddump/Manifest @@ -0,0 +1 @@ +DIST raddump-0.3.1.tar.gz 175078 BLAKE2B b65bbf2200792c41ffe8363aaedc3e009fddc0b684f647352bba5011e84ab99c4741f9cf567e6a668c08ba7e4f8df144875379fbc7f1fff1a2217cdfbde1fde8 SHA512 35daf9c31fc21f29e713fa0f3e5c438f5762087060068506f6e0d829a0fabe74a99fdd1a35bf878aa0cbf5a5f0bec212b0af51b7c3df4e58ec0165b4dee023fa diff --git a/net-analyzer/raddump/files/raddump-0.3.1-cast-pointer.patch b/net-analyzer/raddump/files/raddump-0.3.1-cast-pointer.patch new file mode 100644 index 000000000000..0c29d02e6a6d --- /dev/null +++ b/net-analyzer/raddump/files/raddump-0.3.1-cast-pointer.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/968883 +Fix to permit compilation with GCC15/in C23 context. +Code doesn't move `struct pktrecord p` around, and program is single-threaded +so it is safe to cast referenced address to const. +--- a/pktrecord.c ++++ b/pktrecord.c +@@ -169,7 +169,7 @@ + + #ifdef HAVE_PCAP_NEXT_EX + if (pcap_next_ex(ph->pcap_handle, &(ph->pcap_hdr), +- &(p->pkt_data)) != 1) return 0; ++ (const unsigned char **)&(p->pkt_data)) != 1) return 0; + #else + /* older version of libpcap */ + p->pkt_data = (unsigned char *)pcap_next(ph->pcap_handle, ph->pcap_hdr); +Only in raddump-0.3.1: pktrecord.o +Only in raddump-0.3.1: raddump diff --git a/net-analyzer/raddump/metadata.xml b/net-analyzer/raddump/metadata.xml new file mode 100644 index 000000000000..5d08ae950a93 --- /dev/null +++ b/net-analyzer/raddump/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/raddump/raddump-0.3.1-r1.ebuild b/net-analyzer/raddump/raddump-0.3.1-r1.ebuild new file mode 100644 index 000000000000..53d74e5510e7 --- /dev/null +++ b/net-analyzer/raddump/raddump-0.3.1-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="RADIUS packet interpreter" +HOMEPAGE="https://sourceforge.net/projects/raddump/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +RDEPEND=">=net-analyzer/tcpdump-3.8.3-r1" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${P}-cast-pointer.patch" ) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/raddump/raddump-0.3.1.ebuild b/net-analyzer/raddump/raddump-0.3.1.ebuild new file mode 100644 index 000000000000..b6622a0152e5 --- /dev/null +++ b/net-analyzer/raddump/raddump-0.3.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="RADIUS packet interpreter" +HOMEPAGE="https://sourceforge.net/projects/raddump/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="" + +RDEPEND=">=net-analyzer/tcpdump-3.8.3-r1" +DEPEND=${RDEPEND} + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/rrdcollect/Manifest b/net-analyzer/rrdcollect/Manifest new file mode 100644 index 000000000000..fd13c476d231 --- /dev/null +++ b/net-analyzer/rrdcollect/Manifest @@ -0,0 +1 @@ +DIST rrdcollect-0.2.10.tar.bz2 114312 BLAKE2B 8e75a44e6ea2dcf57eec7418912383fe1ed846eda5ac2e402b7ed3b0f47f3f169d84b563821380fcb1ee87b70fcdf881dd48763fbb4ab3c8ef301ca9ef5f2a74 SHA512 c926ccfdbf98a4de114b80012151bf6859644742a97e14ce06f3c44c3b48bb242d47fda54deef8069d57aa8d207389e788e6021ce337559c0185e7cdb680b26e diff --git a/net-analyzer/rrdcollect/metadata.xml b/net-analyzer/rrdcollect/metadata.xml new file mode 100644 index 000000000000..91d88a9211ea --- /dev/null +++ b/net-analyzer/rrdcollect/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="exec">Enable exec:/// support</flag> + <flag name="librrd">Use the librrd library from <pkg>net-analyzer/rrdtool</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/rrdcollect/rrdcollect-0.2.10.ebuild b/net-analyzer/rrdcollect/rrdcollect-0.2.10.ebuild new file mode 100644 index 000000000000..7bd0e454f847 --- /dev/null +++ b/net-analyzer/rrdcollect/rrdcollect-0.2.10.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="Read system statistical data and feed it to RRDtool" +HOMEPAGE="http://rrdcollect.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/rrdcollect/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="exec librrd pcre" + +DEPEND=" + librrd? ( net-analyzer/rrdtool ) + pcre? ( dev-libs/libpcre ) +" +RDEPEND="${DEPEND}" +DOCS=( AUTHORS ChangeLog NEWS TODO ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + $(use_enable exec) \ + $(use_with librrd) \ + $(use_with pcre libpcre) +} + +src_install() { + default + docinto examples + dodoc doc/examples/* +} diff --git a/net-analyzer/rrdtool/Manifest b/net-analyzer/rrdtool/Manifest new file mode 100644 index 000000000000..3cc77a422414 --- /dev/null +++ b/net-analyzer/rrdtool/Manifest @@ -0,0 +1 @@ +DIST rrdtool-1.9.0.gh.tar.gz 833532 BLAKE2B f2b5ece76d5e229f210781e1cc3756cc350b84b771221cc64a31a8928f047c5caca55d15b237de1cf95d8ca2b80c98d5eb0c3530c8b8caf257238dbf7fcba512 SHA512 82d947f3cb41223437c4548cd30054f0b0b08f5f07438203deadcc2a0f106a6df8ef7b8e04eeac4cd31f8bc0549b5fa098ad1bb4c6b17fcfa20fc1bc40f634db diff --git a/net-analyzer/rrdtool/files/rrdcached.confd-r1 b/net-analyzer/rrdtool/files/rrdcached.confd-r1 new file mode 100644 index 000000000000..99213acd1e1b --- /dev/null +++ b/net-analyzer/rrdtool/files/rrdcached.confd-r1 @@ -0,0 +1,13 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Default user and group for the rrdcached daemon +GROUP="rrdcached" +USER="root" + +# Default options for the rrdcached daemon +RRCACHE_ARGS="-B -F -m 770 -s rrdcached -l unix:/run/rrdcached.sock" + +# Default path for database and journal +RRCACHE_DATABASE="/var/lib/rrdcached/db" +RRCACHE_JOURNAL="/var/lib/rrdcached/journal" diff --git a/net-analyzer/rrdtool/files/rrdcached.init-r1 b/net-analyzer/rrdtool/files/rrdcached.init-r1 new file mode 100644 index 000000000000..f7bdb0c68504 --- /dev/null +++ b/net-analyzer/rrdtool/files/rrdcached.init-r1 @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Data caching daemon for RRDTool" +rrdcached_database="${RRCACHE_DATABASE:-/var/lib/rrdcached/db}" +rrdcached_group="${GROUP:-rrdcached}" +rrdcached_journal="${RRCACHE_JOURNAL:-/var/lib/rrdcached/journal}" +rrdcached_user="${USER:-rrdcached}" +pidfile="/run/rrdcached.pid" + +command="/usr/bin/rrdcached" +command_args="${RRCACHE_ARGS} -b ${rrdcached_database} -G ${rrdcached_group} -j ${rrdcached_journal} -p ${pidfile} -U ${rrdcached_user}" + +depend() { + need localmount + use logger +} + +start_pre() { + checkpath -d -o "${rrdcached_user}:${rrdcached_group}" -q "${rrdcached_database}" + checkpath -d -o "${rrdcached_user}:${rrdcached_group}" -q "${rrdcached_journal}" +} diff --git a/net-analyzer/rrdtool/files/rrdtool-1.7.0-disable-rrd_graph-cgi.patch b/net-analyzer/rrdtool/files/rrdtool-1.7.0-disable-rrd_graph-cgi.patch new file mode 100644 index 000000000000..beb1ba794f22 --- /dev/null +++ b/net-analyzer/rrdtool/files/rrdtool-1.7.0-disable-rrd_graph-cgi.patch @@ -0,0 +1,49 @@ +--- a/src/rrd_cgi.c ++++ b/src/rrd_cgi.c +@@ -51,6 +51,7 @@ + const char **); + + /* call rrd_graph and insert appropriate image tag */ ++#ifdef HAVE_RRD_GRAPH + static char *drawgraph( + long, + const char **); +@@ -59,6 +60,7 @@ + static char *drawprint( + long, + const char **); ++#endif /* HAVE_RRD_GRAPH */ + + /* pretty-print the <last></last> value for some.rrd via strftime() */ + static char *printtimelast( +@@ -510,9 +512,13 @@ + } + parse(&buffer, i, "<RRD::GETVAR", rrdgetvar); + parse(&buffer, i, "<RRD::GOODFOR", rrdgoodfor); ++#ifdef HAVE_RRD_GRAPH + parse(&buffer, i, "<RRD::GRAPH", drawgraph); ++#endif /* HAVE_RRD_GRAPH */ + parse(&buffer, i, "<RRD::INCLUDE", includefile); ++#ifdef HAVE_RRD_GRAPH + parse(&buffer, i, "<RRD::PRINT", drawprint); ++#endif /* HAVE_RRD_GRAPH */ + parse(&buffer, i, "<RRD::SETCONSTVAR", rrdsetvarconst); + parse(&buffer, i, "<RRD::SETENV", rrdsetenv); + parse(&buffer, i, "<RRD::SETVAR", rrdsetvar); +@@ -900,7 +906,7 @@ + } + + +- ++#ifdef HAVE_RRD_GRAPH + static char *drawgraph( + long argc, + const char **args) +@@ -931,6 +937,7 @@ + } + return NULL; + } ++#endif /* HAVE_RRD_GRAPH */ + + static char *drawprint( + long argc, diff --git a/net-analyzer/rrdtool/files/rrdtool-1.7.1-configure.ac.patch b/net-analyzer/rrdtool/files/rrdtool-1.7.1-configure.ac.patch new file mode 100644 index 000000000000..1b65f959c95d --- /dev/null +++ b/net-analyzer/rrdtool/files/rrdtool-1.7.1-configure.ac.patch @@ -0,0 +1,12 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -241,9 +241,6 @@ + + + +-dnl add pic flag in any case this makes sure all our code is relocatable +-dnl eval `./libtool --config | grep pic_flag=` +-dnl CFLAGS="$CFLAGS $pic_flag" + + + dnl Checks for library functions. diff --git a/net-analyzer/rrdtool/metadata.xml b/net-analyzer/rrdtool/metadata.xml new file mode 100644 index 000000000000..bafb4639667b --- /dev/null +++ b/net-analyzer/rrdtool/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="graph">Enable support for graphing functions</flag> + <flag name="rados">Enable support for librados from <pkg>sys-cluster/ceph</pkg> + </flag> + <flag name="rrdcached">Build support for write-caching daemon</flag> + <flag name="rrdcgi">Build rrdcgi support</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:rrdtool_project:rrdtool</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/rrdtool/rrdtool-1.9.0-r3.ebuild b/net-analyzer/rrdtool/rrdtool-1.9.0-r3.ebuild new file mode 100644 index 000000000000..31e2a8136b7c --- /dev/null +++ b/net-analyzer/rrdtool/rrdtool-1.9.0-r3.ebuild @@ -0,0 +1,286 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL="true" +DISTUTILS_USE_PEP517="setuptools" +GENTOO_DEPEND_ON_PERL="no" +MY_P="${P/_/-}" + +inherit autotools lua perl-module distutils-r1 flag-o-matic + +DESCRIPTION="A data logging and graphing system for time series data" +HOMEPAGE="https://oss.oetiker.ch/rrdtool/" +# upstream dist doesnt include python tests +SRC_URI=" + https://github.com/oetiker/rrdtool-1.x/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/rrdtool-1.x-${PV}" + +LICENSE="GPL-2" +SLOT="0/8.0.0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="dbi doc examples graph lua perl python rados rrdcached rrdcgi ruby static-libs tcl tcpd test ${GENTOO_PERL_USESTRING}" + +RESTRICT="!test? ( test )" + +# perl? ( graph ) bug #940931 +REQUIRED_USE=" + perl? ( graph ) + python? ( ${PYTHON_REQUIRED_USE} ) + lua? ( ${LUA_REQUIRED_USE} ) +" + +PDEPEND="ruby? ( ~dev-ruby/rrdtool-bindings-${PV} )" + +RDEPEND=" + dev-libs/glib:2[static-libs(+)?] + dev-libs/libxml2:2=[static-libs(+)?] + dbi? ( dev-db/libdbi[static-libs(+)?] ) + graph? ( + media-libs/libpng:0=[static-libs(+)?] + x11-libs/cairo[svg(+),static-libs(+)?] + x11-libs/pango + ) + lua? ( ${LUA_DEPS} ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + rados? ( sys-cluster/ceph ) + rrdcached? ( + acct-group/rrdcached + acct-user/rrdcached + ) + tcl? ( dev-lang/tcl:0= ) + tcpd? ( sys-apps/tcp-wrappers ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + sys-apps/groff + virtual/pkgconfig + app-alternatives/awk + python? ( + ${DISTUTILS_DEPS} + $(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]') + ) + test? ( + app-alternatives/bc + lua? ( ${LUA_DEPS} ) + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.0-disable-rrd_graph-cgi.patch + "${FILESDIR}"/${PN}-1.7.1-configure.ac.patch +) + +src_prepare() { + default + + # Bug #456810 + local mysedargs=( + -e 's|$LUA_CFLAGS|IGNORE_THIS_BAD_TEST|g' + -e 's|^sleep 1$||g' + -e '/^dnl.*png/s|^dnl||g' + -i configure.ac + ) + + sed "${mysedargs[@]}" || die + + # Python bindings are built and installed manually + local mysedargs=( + -e '/^all-local:/s| @COMP_PYTHON@||' + -i bindings/Makefile.am + ) + + sed "${mysedargs[@]}" || die + + if ! use graph ; then + # Makefile needs to be adjusted for disabling 'graph' feature + local mysedargs=( + -e '/^TESTS =/,/^$/ { + s:rpn[0-9]*::g; + s:create-with-source-4::; + s:xport1::; + s:dcounter1::; + s:vformatter1::; + s:graph[0-9]*::g; + }' + -i tests/Makefile.am + ) + + sed "${mysedargs[@]}" || die + + # Remove graph test from lua + sed -i -e '/Testing rrd.graphv/,$ d' bindings/lua/test.lua{,50}.bottom || die + fi + + # Makefile needs to be adjusted for disabling 'rrdcached' feature + if ! use rrdcached ; then + local mysedargs=( + -e '/^TESTS =/,/^$/ { + s:list1::; + }' + -i tests/Makefile.am + ) + + sed "${mysedargs[@]}" || die + fi + + eautoreconf +} + +src_configure() { + export rd_cv_gcc_flag__Werror=no + export rd_cv_ms_async=ok + export RRDDOCDIR="${EPREFIX}/usr/share/doc/${PF}" + + # Bug #260380 + [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__ + + # Enabling '-ffast-math' is known to cause problems. + filter-flags -ffast-math + + # We will handle Lua bindings ourselves, upstream is not multi-impl-ready + # and their Lua-detection logic depends on having the right version of the Lua + # interpreter available at build time. + local myeconfargs=( + --disable-lua + --disable-ruby + --disable-ruby-site-install + --disable-python + $(usex !dbi '--disable-libdbi' '') + $(usex !examples '--disable-examples' '') + $(use_enable graph rrd_graph) + $(use_enable perl perl-site-install) + $(use_enable perl) + $(usex !rados '--disable-librados' '') + $(usex !rrdcached '--disable-rrdcached' '') + $(use_enable rrdcgi) + $(use_enable static-libs static) + $(usex !tcpd '--disable-libwrap' '') + $(use_enable tcl) + $(use_enable tcl tcl-site) + $(use_with tcl tcllib "${EPREFIX}"/usr/$(get_libdir)) + --with-perl-options="INSTALLDIRS=vendor" + ) + + econf "${myeconfargs[@]}" +} + +lua_src_compile() { + pushd "${BUILD_DIR}"/bindings/lua || die + + # We do need the CMOD-dir path here, otherwise libtool complains. + # Use the real one (i.e. not within ${ED}) just in case. + local myemakeargs=( + LUA_CFLAGS="$(lua_get_CFLAGS)" + LUA_INSTALL_CMOD="$(lua_get_cmod_dir)" + ) + + emake "${myemakeargs[@]}" + + popd || die +} + +python_compile() { + cd bindings/python || die + distutils-r1_python_compile +} + +src_compile() { + default + + # Only copy sources now so that we do not + # trigger librrd compilation multiple times. + if use lua; then + lua_copy_sources + lua_foreach_impl lua_src_compile + fi + + use python && distutils-r1_src_compile +} + +lua_src_test() { + pushd "${BUILD_DIR}"/bindings/lua || die + LUA_CPATH="${PWD}/.libs/?.so" emake LUA="${LUA}" test + popd || die +} + +python_test() { + LD_LIBRARY_PATH="${S}/src/.libs:${LD_LIBRARY_PATH}" eunittest +} + +src_test() { + export LC_ALL=C + default + + if use lua; then + lua_foreach_impl lua_src_test + fi + + if use perl; then + pushd bindings/perl-shared >/dev/null || die + LD_LIBRARY_PATH="${S}/src/.libs:${LD_LIBRARY_PATH}" perl-module_src_test + popd >/dev/null || die + pushd bindings/perl-piped >/dev/null || die + LD_LIBRARY_PATH="${S}/src/.libs:${LD_LIBRARY_PATH}" perl-module_src_test + popd >/dev/null || die + fi + + if use python && use graph ; then + # All tests explicitly use graph + pushd bindings/python >/dev/null || die + distutils-r1_src_test + popd >/dev/null || die + fi +} + +lua_src_install() { + pushd "${BUILD_DIR}"/bindings/lua || die + + # This time we must prefix the CMOD-dir path with ${ED}, + # so that make does not try to violate the sandbox. + local myemakeargs=( + LUA_INSTALL_CMOD="${ED}/$(lua_get_cmod_dir)" + ) + + emake "${myemakeargs[@]}" install + + popd || die +} + +src_install() { + default + + if ! use doc; then + rm -rf "${ED}"/usr/share/doc/"${PF}"/{html,txt} || die + fi + + if use lua; then + lua_foreach_impl lua_src_install + fi + + if use perl; then + perl_delete_localpod + perl_delete_packlist + fi + + use python && distutils-r1_src_install + + if use rrdcached; then + newconfd "${FILESDIR}"/rrdcached.confd-r1 rrdcached + newinitd "${FILESDIR}"/rrdcached.init-r1 rrdcached + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-analyzer/rustscan/Manifest b/net-analyzer/rustscan/Manifest new file mode 100644 index 000000000000..c4519b51d166 --- /dev/null +++ b/net-analyzer/rustscan/Manifest @@ -0,0 +1,271 @@ +DIST addr2line-0.22.0.crate 39156 BLAKE2B 3fbb55f6cacbb177d06359bcd39885247a9eeef96d95ffac0dfd1d45ed394dcd1e9e069c02c71a9ffca0b69e3a974e4d96bc3385470ee39c87d7a30ea7914303 SHA512 b334f51bd369348b4446805b4f624ec9b4cc8eefcc53ceb57b523ff55bf018d1dfe23259daf48d1878170ad4fcb44181d4738456eb5e35ede6932ff29686268e +DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 +DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29 +DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671 +DIST anstream-0.6.18.crate 29681 BLAKE2B b6f72cda084b38f1e1cfe60de2562e8d62ebbc352176bdf668a2d6be09349bec46d291cd475e8af814ce66def44d95cb98c325761150130752284a82d8a84f21 SHA512 5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963 +DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed +DIST anstyle-parse-0.2.4.crate 23069 BLAKE2B e80bd81e351326a222238b3f559020a2430ac37293e61b6b6309b37bbb8bdb78ec11ca9c0fd270098af5e5ffb2f5660cfbfda949d20fd2efd336ed1c143215b2 SHA512 c1dac475df77d090a4d2041ba40ff418abe66e93e4ddda54653bf024fb4995e431166684343509a2337bc813fe06f362d3df8a1d7d05d177cec1a488bcb9942a +DIST anstyle-query-1.1.0.crate 9832 BLAKE2B de106e289c874bca806214e275647415bdd02e2878f3a80e7d337cfbcdb755d8c182b2879371f00f5cad97cdf68224ac11ca41cc89ad7ab3929f854a9f9e76a6 SHA512 321ddfa7b090142116c96bc8c70d81cec3e816922249ae0f07389e2d1b62c8b40636675ccfdfd23d52e29c162ae7d929637dfc7d697dafb79e596d04eb8cd90b +DIST anstyle-wincon-3.0.6.crate 12271 BLAKE2B d9f4d9d46fa93a1168ca340562681718be852ffa94e30c9ea208af53af9d6697ca84921837a325ddc36681caab2b866b7f574901c80b5c0d862dcb765b81b68b SHA512 59ec6f5a53bd68b6344d82e923eb8c45ddac481dd0d270a7b452dc5b0540ee1656705697c1508942ecc131e7c075248c85d8f4159f27d97ea94f22469ce2eeb5 +DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a +DIST async-channel-1.9.0.crate 13664 BLAKE2B 52455c1c9f82bede902a96de0526ce4563184a9da303477110b556b4c877b563c21c32bfd9c6ded446ea0bad416af81a07e5df5a62e7c8f40c8183c1d09ac4f5 SHA512 cc624b87dbf34e4be4e219a82b96036396b92042025eeed2362d91f414ca17884365470fca5014b02659be44b77f20530ca33236dc427f0a2fcff2704c46c3dc +DIST async-channel-2.3.1.crate 14576 BLAKE2B 09ea03c9758805c90be9aba222e1d74f3166ab492e533597647d1b4f08bf1dda79d73b21de791b9802e19c225cb94b7cb25550bba61488c7b61fa87f88eb29dd SHA512 94c999912bdf681dcb686292645bc8c340c2687bc9544f317e0123e672752c6b31e9d784e488e7d0bab79b5f207da8904a7f1fe140397513b47c292a6508a7e5 +DIST async-executor-1.12.0.crate 28529 BLAKE2B 8bc6ca73d4ed9fea222e0960a3a3dbd3b67eb2b85d0b61014d5ccce4454fbe9c499e9ed33a9749e82d4afb04b1fc38327371ec6c5372a321cc53e4f4f4cfdec6 SHA512 1d0c967f310e360ee156aad85af273cb8c89735e846f82ac56846063db23ca435cafa917a5b146c7bd26fc3111cfa320f2b43def3a00419b93c7d75dd230664c +DIST async-global-executor-2.4.1.crate 11844 BLAKE2B 910e2472142201b970a20e6a65406b5e79d3fd96d88d03e43f6c2b868a6cbd3a5fa715cba3ebd427e5ea6e30dbf159bba162ea7f0718d8b5c9eda1a8e355aab4 SHA512 688fc105404feb0bcc841e9b853e5f270257cf2bdffc041bac7dd681a2990978a0f0d1e48e2eb574bfccd991d95632641e2407768d572c6352084b2808aca3b1 +DIST async-io-2.3.3.crate 49746 BLAKE2B 312d71f8670f720947ae5e78e6bd0251534d5a872164845f8606951ef88009e54684019831f55f27322e6e5d7d3f6f4a8157032fb6387ae6859be0d0dab74689 SHA512 5709064176812556a567cd558161a5e1a014b989e6835de5b77f387bcda8f148d03e5ac79a5dde56977bd3f2d38644593aa99ed28a4d646d3535332eae4b09c9 +DIST async-lock-3.4.0.crate 34446 BLAKE2B e113033a86101bd93543d287379ba354b4bd61ce87786719f05f8a990c177a885eb50a19eb71fcd5cafa01308cb45b7872be65cd7e975cde03b0555a691a4bd7 SHA512 83731067a3302d3266848b0f65ea6564dad60188472c80e78a7d4cd93804f830332aa01b404b60a8f91cc1c6c7170020ebdfe4b5bae14fef6d3bddcc5f1ed9a5 +DIST async-std-1.13.0.crate 221584 BLAKE2B c4b99fccd21dbfe600d0a96987d01c9c0ebd044c97e722e00492aceb461377ae88098b1e235f7fd9277ccb84cba2c5689c2f88d0372dc895f4fc63b0087d7656 SHA512 47d50f728b1d5f8d9510234833d0b2044ee6817e7a5920df58bffabb6fdd5b821c9645fc54303f8f270de06329f041385b11eec9ce3983eb5975870d99d5ca48 +DIST async-task-4.7.1.crate 38077 BLAKE2B 200f3c2eff92afeffb34404bd9b02af39226024d309137c3835342ab6631c09f14f47abc5d25d77e73cbd133274e731fc88e7e94d8456f690b0f1056bae8dd95 SHA512 8495436d0739a2ce83b372ae13ff24ca1487c92e032948d5830af19c3ba411d7cd004634fa10bc2f748f8a82de27c12cbfacaac92cd0012e1fae024eca9e78ca +DIST async-trait-0.1.81.crate 28896 BLAKE2B 154e6b8da082193832bca7bbc097eb5ee25ed8365d1cb8dedf27f62fbffc710cfbfd0094a200a10399e942014083b74f521dae01cc4601e0f6b9d7364761fce0 SHA512 1fabbaa813ba320012c0bad54d27232eebca4d3fff1cc5ed771df9f90d9e9bfaca4f7b018358dc599fd30c5974d00b34ffc05ce6e9151a57ba572543bff83fd0 +DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST backtrace-0.3.73.crate 87617 BLAKE2B 585eebbb44671dfb3ff088092f62c7b25118ffc34e148b9b6ac67707923254ea43056861e2658c5fac7b9ed16fa56c30e7734e976fc3178f1fc03912d1d44c40 SHA512 dacedfd32cb91fe408e4f395441baf09c0a4b3bc4ba8f79d088359455cc903c93d24969567c7c5b2feb806433ffbb63a526d73f53caa4bee9c51961b61f831d9 +DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST blocking-1.6.1.crate 17788 BLAKE2B d07246809d8b80f1fdbdc678b2877f349b748f2dd0f8543e91fde4aec7aea0b45e145a44f07cdbf26934d20269af01844e1cf7d9dd8b9588d129da7f929d9c95 SHA512 1879bf31c18d5cc4653f794dd4109769ae32071564d3a0d63896162fe160bb5ed3d7d8de59ab34363f8192871122099bb8564ffa93de5a5b75ffd93c0d424ed6 +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST bytes-1.6.0.crate 60605 BLAKE2B 3e4cd094443969c6062b51917ad9df314b61ec9ddcb0336cf2621d8966c568d5b1fdbf16b11b5e2fab01b43ea76f6609f753eb5c2380a5e4aa8fb6e807a2ff5d SHA512 6507bc4274204d0a19b6a95c3284c52245c71cbf5f2dfb5cd372193d989e49869ec557c0c4e449e96ed4e3028c90606dfb0dcdc1d72bb234a36bc5f344c0a7a8 +DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396 +DIST cc-1.0.106.crate 80289 BLAKE2B 10a7c9e25f9ea0fc09bcac63111d7655029da65e00c0d3f920b6b8c3748c298a253b023cae252e991815be041b4dadc656d0c4c31102623d9ecf4f2bb05eda1c SHA512 1ffe4b1f109bb889a68498f5b60f81865de7d1d528508f013c82463d12883684f7c0c623e7b3483b53e6b2beef9ffa649bc07271b28f09747b53c182f2d071a3 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST ciborium-0.2.2.crate 35611 BLAKE2B 7bb34ed2b16f55af2d762bbc83263bba901a0f05bc7677a370460549297839c4d6e913622e8a6cb3a5c2447b94b0bd17b7d5007228ea8881193d08e5b8deb072 SHA512 8d1af6a09f116e42f0098d7d0e34dd906dc3e718b257ff1a1fde655a235d40619f61f18917c0cf35c55de9160c255a9795d5e7525989037e3512807cc6a900b1 +DIST ciborium-io-0.2.2.crate 6697 BLAKE2B 07636da78f59859515af0075cb36d9ca969113ac327ff727953c73b64b60ddae22e5b1b65d8be5aa401f8b13d34074cbc8b47f23abd7a13d551f0b1c78f23575 SHA512 641b8592f9699d5e6c607815c8e6dfc82b2bd01897015e04ef8853420a7d90c2ec5c1140e39eb7623ce05587bea52ef63659eae76baee5b6592d2ac5298ce106 +DIST ciborium-ll-0.2.2.crate 14695 BLAKE2B 3c9ab0b338070359f9565706a504e4f6c65560072380af6e0a57068ae6716773d40e75dee84ded5e1d32f93445a07a0965759bedace58291b68b94479fb16488 SHA512 2f7ef6ad8bf5a862e8b9daa64bc6d8184c87a22c264b10dbb35c00c9effcd5712f354b4ca6c2eb8e6795d4b99d7cb88fa2acf01f3ad6fb28caf81708a500549a +DIST cidr-0.2.3.crate 33908 BLAKE2B 26c89a302e3760534cef4834e799f18e49245a81b73ed7e5811c363c7b9c93905a5869b9c945cd2537a67e43ecaf73e391304c078955a1651cdf3c907651b196 SHA512 7d726cb30a303e2651be5f44b0e2081e60fb38d810e0469b1bb8b099eab20b44ea86d480b85eb0cfc1c97da5b7e3f81fa6edf42c658f236aa3dc842c8880ad40 +DIST cidr-utils-0.6.1.crate 7727 BLAKE2B b09203a375343bb907d513815fc77e5c9517ddefa6c8c81c895f15e6852ac8cc704b2829f22c7f8ca319d8f178b6f1b991855297d22e389130a40ea5f5ff689f SHA512 717681468e316f36b26814e874332ed2f65a3614c7cf3df947e9462732255d07ac055c40c4443a827853f0ff0a0866d4485edede305b38b2192d87c51e4149b4 +DIST clap-4.5.13.crate 56267 BLAKE2B 233f2fb4405ee2ff669220214c13b6c94858dbc375c8bf7eb83d7488690d74ebd8e1514679e02d1354b493b6e37fd7ed4b2ae32065d115a7287014aece90c2af SHA512 dd1a42ad3bf39463966c2ef76f3ec2dc5a847160bcd73de1718bd6706790f1ace183e3c9e6ee8d06f6ddea4b9bf30c884fa97d36b44f30dac26a85a52d9a0025 +DIST clap_builder-4.5.13.crate 164093 BLAKE2B f938635782ba9c1a675bc15a73a36ee7f1cbee501dd10be6f267364fde125c75474e5abe226e0eaf0c9fb224887c65bbc1be4641ca093282d3042f9980f4ab94 SHA512 ab7a29b29a15d22701550fc590ca6ec256edf03828e2b9a87072734a8f66b6e5a1843ac2ee7856c62472960af4e8f40840f840adb78ce5afca918f333e0f623f +DIST clap_derive-4.5.13.crate 30132 BLAKE2B d5fcd2c5a213817165c61ba2071fc6424ce822e4881686556b8379fc71188f60d8c6712f6f4a8e5c8b125b58d7454aa9846214caf324fbc93300abba240bea17 SHA512 2dae32bffd91de9311d94e2be0d990074cb2e2edc832f422cd5e7c5177f5daafc0c335e74f865024c77cae5fff631ddaba58028fcfc24b203467478fd473bbf5 +DIST clap_lex-0.7.1.crate 12766 BLAKE2B e0e3a1a4a65bf9df3c21753f9298a7461046e6b34c7a8d26521efc551ef3511a7d202f25ebdddf285ff68c4073364f48cf739ff0bda32f41d4fd0c87c4cf02fb SHA512 4cdede5eb9fa527567e9f3f94fd8fe7e1022d9e9236e78d30b3068befbaadedd778b5464f800e74bf187c44af9df582365f4d41a0113f8ab0fe9abc936171fc2 +DIST colorchoice-1.0.1.crate 7895 BLAKE2B f1c841e74f01f33fa83cf41c5f0a1286ca3899239d9a188a838550abde507af374a4fe3e85934d10d28bd5eae2c7fa1f662307bd46d5dd4daa52249cb64ebb5b SHA512 3d216ba46cfcca5c52a56884ed09fe7d6d350ccb44144a60c75006582f7f9a28df21d44375a8cb304c721b9de615875675b3a03c485eb209b2a12d745fa609cd +DIST colored-3.0.0.crate 34497 BLAKE2B 6477cfaf974399a2823a714b766800766245c8965abc99f142c4ab72effeb665cbe408e9f34e28ca54a0b1e82859b8712027ec0cf88b98d2c536f0878e7ef6ea SHA512 2e3a0b7625cebe491a884a4bd1d8c4b4355235cf6e1e940768f92968313e09233d2f9a13a623cd44542f7f2894d4a7d64759083e005f22967d0a4991e0491396 +DIST colorful-0.3.2.crate 21802 BLAKE2B 0da07455b341483c5c43372c1c07b40716c9da9a574a9af1b6b0fe5c26139babd40cde9113bfc665c290e72d34f4a0a16bc80558b891099e2a67b17d0821566d SHA512 849be07d8a37cdd361059b3b71f8e7d0717aebea5d72dcfed0a8cdda42c5d01473b2c7192897c2dc527ee70e5fd554865e2ed23a135f5efd68184be0f4aeb385 +DIST concurrent-queue-2.5.0.crate 22654 BLAKE2B b490e76804e45d6a7af6bb4ec074fb370d9ec7cd67c7ecfb55d5ed53b9b437c174e678add915303559e902ac81c8751dccb2c5ef0543d5961713372fd2b08d3c SHA512 235704f9161dfac60d2a6d2cf96425e39c097dcde2f005187c1f044704eec66d8303d59352cd414a81a3ed0eed60421054b0070a9b8f69065a79a2519e913e5a +DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0 +DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14 +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025 +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST dirs-6.0.0.crate 14190 BLAKE2B e214cf0c4669fa149d1e3eda1f6ba5b10a4a4b7d13a9050e63c13a4b605aae5d545bb711fb659312dabad26028f190853764acf74c1f6f31014e57c0a53a2281 SHA512 f29f0f932aa627bada67db5bd9d2661b5fb3b18d07030f5d88da28de7049eb872a2f35756cf29c094aacbc2429a3a333b54fb94d70e470288d3ca091cf6d4aa8 +DIST dirs-sys-0.5.0.crate 10157 BLAKE2B 0808bd5c7bfaceef00d62476ff459a8f3ab19fdd4d3a860b04698e51c390285ab8f01690fdec7faf01ccee5734b28c44e50a4358f30de1193a0d54ae5c6622c3 SHA512 c2ca362ad04e92c929e2cea4db359de689e512b7c76246c408f40d10f1d47c5dbbd49238e67edc0a251bd642ee292cae88992e5755035c632baec36cd77c10b2 +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST enum-as-inner-0.6.0.crate 12079 BLAKE2B fea251b187470b6204f686eede8d9d2fc3869a396d50051a45c72e3628b4d893a2393760afdbe14676cf505b1892ff67846226ffdc4a23f59a18b2cda1a2629c SHA512 c06e0bbc43068161a07a8b34bf1382311273cfc5390f3fb4c90b758d47cf49baf648f6bb277770a983942f7d2effd242bf1f6eaa4eab77e7f6f4fe9ef6ce188b +DIST env_filter-0.1.0.crate 11553 BLAKE2B 8e358517c0aeda431239f14610925bcfd6be3bd346c7628e1818cdbaa1796bfdf2454db99cd06bc6ffdca95e7ff47c0a621d1f4c3bb50ecd1641f9d19efe4b4d SHA512 a0ab51c2b905466d23c75fd77b430dff2956556b7687ea434050c78a497cbe63018c5730be950724c0ca6aefe29bbc379ac01c8a7cd2779a69c5a03e92a21bf1 +DIST env_logger-0.11.6.crate 31105 BLAKE2B 536f7b02bc6bd4f186061d55d2c5fb0d57aa91adc73d0c2521e0136573283147d5d336228fa7b64306daec9f488a2a83c83b96f06d648f45c3b52d04699b15d9 SHA512 1ec41e4c4eee4ea6bea38d40e739b1f324ef236fc786553fd77c6bacf6303f13d35c1626d3408a18346d42ebf5c896869deba133ef34b8cccf3729957c72de0e +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST event-listener-2.5.3.crate 15392 BLAKE2B c56ed5eafa64014141e869dcf952e86f755eb35ed1722f8139260cb502ba226351ed1bea301618e94c9ca7f3309747057eb5f7d7986cfcdb7f6b79d13d52b439 SHA512 ddd67c1139ffe2aba95d763b73db0e2a9985dd2e57cf8f72030047d53d46d833df4b4192730cf0af4e060ce52e4f2df23aab6509abb94a6cd02e0d8cc3559d22 +DIST event-listener-5.3.1.crate 42576 BLAKE2B dfd8020527c06adae338e9bcf19076e70ae745facd7b49e8d6604e8508436b70b48fb1f4479214998f288055447186d4ef4969630af90e301103bc5faf6492e5 SHA512 98b7219a3959d6225ee5fb68e8b9d284ab03334d895f52a71f673e59cabab1d06a0abb9eab905e8d38d5f9589725c7c598355ae3c909044a23bc5830b761f5c0 +DIST event-listener-strategy-0.5.2.crate 10697 BLAKE2B f49faa8a2cda551b65e29b9dc98e4e55dabff7f2b330097bf5f6a5a5927804a99cb699d1f693db9c7cbd92ecb44f6c1b51be2b86810d3e3fbfd5eebcfad1a241 SHA512 7b3759d07c7936b53351172e38623658cbe642f079426c99e7f9187ba1d7f8cbbe7530c056cc760909cda4e70281a50577caa41426164b4c8d6c3f4cbddb2626 +DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e +DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c +DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4 +DIST futures-executor-0.3.30.crate 17744 BLAKE2B 927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b SHA512 fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f +DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2 +DIST futures-lite-2.3.0.crate 39181 BLAKE2B 0e4c510d7b640efc6ca8e8b00f4cd51b05b727ce5d25d76e317fd5aec2f515d3b1dac57e4058c323fdd0c5d125ebc4073a9ab1f2ee21aee0e5aa0f9bf2e049ac SHA512 057de40b58d5ae06104c480a0e20a0ee4a962a93af615b04a9a34cd08135359c1f49f1b61577f15277fa73e9b7a93d2a659d3203b490ca4295b88fde2316bc7f +DIST futures-macro-0.3.30.crate 11278 BLAKE2B 6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0 SHA512 220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc +DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3 +DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d +DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951 +DIST gcd-2.3.0.crate 8934 BLAKE2B 7abecae633692861373a962262f8047893508706d8d7e7b9f7c1454b7c17cdfea9f039e52811d56e21de25a593d4a9607ccee9725578fa0c6ae22c4604904d97 SHA512 703bbaeb5ca76efb6f3fa3329566df34924850a3aa21e6cc38fa6f99e2cffcb12e1214d7f23cf5341de9d0edc3528504226a175385308d5a04cf765e98399613 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST getrandom-0.3.1.crate 42449 BLAKE2B dd70e0abfd27a7c363ce1b91746ef7568edf1d176d5575201623b6403f3a503b5d8503d10ba01d055f9de61cd8092729d34ac8f0f4f9fc6ad79b9fce926720d1 SHA512 431682efdc2ba82114e173925b99e1059d4915ebec6b0432d4a7683e56ccff7b4b45b9ee9cf5d0ee53067d5ae1ba733524c18577379c8414c385189718fbbcfe +DIST gimli-0.29.0.crate 275756 BLAKE2B 092e5bce9503a337451f63706e7ae7d12a4228db6a43d2c14fa6af74640a790ec70ea2055ac84db3919d19612ee6ee0453f64981390667abec97637679ff06d3 SHA512 a6b591d48dbe93a1fa6b814759a5cb61fba0838288840667aaecf01346a3ab862fbfe1cab51b057a425ba9a0ce35c8421b28cd5195464be881f38905062f1446 +DIST gloo-timers-0.3.0.crate 5530 BLAKE2B 5036f519e6b7e91b140fa3b61cb1cd2b58034fa11b6063549f050c3189767bce516e178e74710b0f08f1e0d0d59379cc0fabca30ff2ee60d5bd565750f0b2c2a SHA512 35b87a0fcdca230157c05cbe0c781c60128869c49c32d6aea90653e22dea9b996be1678181d999059dc300bbac4e8c046c51418b1c2edb1638a118742db4b2b1 +DIST half-2.4.1.crate 50892 BLAKE2B c275a9ec70d2fc0c50cb63421399202d31252b0dbf463798ed0a12a17493817c66b8933811d483b348f8f945cb05aab7cc2a4d952bd16009c3da4860202e28dc SHA512 0bce235583ca128723186e1fb50f636b519bf826c942f02c5b969db4117baa87c644665c541991c16d1f1dd97c7233c017a513d45075fc72c5d99ccc7c1ac193 +DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 +DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70 +DIST hashbrown-0.15.0.crate 136460 BLAKE2B a2bc34b9d2eb7ca52dad7bc59e9bbb38ff9f79925495e1645eda7c0587e86e0a3d0675f8c7f159c5a83dfb2832fee9788a7ba6914168b51c26f762e140bd05b2 SHA512 497310e0f8e256e931ae0e752f66eb3811d5d3b9254dacfe2a1227e8532dc23eac8cce7a3f0758fbe0e0fd8f08b7bb18b5f118dbbf4fdf575a31666283583111 +DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hermit-abi-0.4.0.crate 16310 BLAKE2B efcd1dee7bcd6d185cbe0051c7bc7e2776857ffcfd2adc3fb101febd7c1bd75994b7e4a4a0a59c5b4628cc2521b4c1f043e98a0c44935d0180e7499667690ab8 SHA512 b1a21f6d54598185a8e8c29565ffc2e1bc5da57cf1c9d87ba643d23d7c23d53e8ad36ee2f5c1ec8a504334b6f98b0f17a832ff37877c7b7f9238b196f4034e6f +DIST hickory-proto-0.24.3.crate 383451 BLAKE2B 3cf3f47a789598de5d291ea577007d83be952e5e5b2f0082c2951630a78bb99923682f2fbe8c663813cd5b1061414865ce9c52253d4532a41e0a01f551e7afe2 SHA512 928ff2629785f3d1433adfeb356b355b812b0adfd9690cc3ae0c945a9a2ddf5d146bd8ceb2ef595e977e9104ff90c816c5b78d5a286413b179dec31eab556f7d +DIST hickory-resolver-0.24.3.crate 89591 BLAKE2B db4c2abfb1c787e970ef4fc2e29e37166f11a5075b183921aa467e429d4f550af9812998d90114443640670a330746e9d8d0b58553d6566cee46d0f305476c0f SHA512 00fd9ec6f60b8086fe40e092344a864789f8b248190480cf76c9b4efc18f09d65da830fcdb590a8f8c1fc28550af4965ae367cb14cfb1824248127660f785c2c +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 +DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126 +DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e +DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37 +DIST indexmap-2.6.0.crate 85204 BLAKE2B 420a3cceedab93e5023b476f9b6b93e57057238425d4095de59eb9490c2a088193873e643dcad2f739e34e5798baa9a18939424cac1afc5fc7b93ae496ba188c SHA512 c870348691f5acf97e7bff25c805e60f2e9db9e3ee7b3b939b7be45b6bcfaadee9880e6ad27adbbe2545865193655b5fa9de18487b7a1d030017b2fca48616ca +DIST ipconfig-0.3.2.crate 24468 BLAKE2B dbaedc8f4ec23fbbe48a8c79f16fa1575b8374f055237447d12eb009694067a82bd54b503f73f9520e9b731dbf2b7797ee2d6fe2c07ad3946146b32cdc68ad0e SHA512 6029a7d453db77bcf397580fd44c5c777ce6c288c251376cb591174e9fe0aa66b49925764050cc9bcb2d656a8f6c4af0cbcd6685b2ea4616c2d2cf8de9bd67bf +DIST ipnet-2.9.0.crate 27627 BLAKE2B e7e1c74815b965e9cec1cd37cc3dca76671168feb689620d44d5e635f3a5fa92a7276cb3022f25a9512ffbaaa11b0a8719cc1b838a7dacda71a5beb1a992ecc0 SHA512 8ce429ba2bae53cfdaf8a7d6bf980e10b9dd515446ef3ed4e4e11432043a18e09454260567419818f523bc589fc367194bc345660f2cc808d281db235d3e0b54 +DIST is-terminal-0.4.13.crate 7665 BLAKE2B 47a024e135ca4931a04a8dc8151f999f816ab50c924f17321af4295dd84fd51bf98ff057de967e646a461c1cc9ffbfd7ae245a9021b3a77f3812f43707b44aa2 SHA512 ea5b18dbfc965b96a27086eabc070747fdc557a6a9acd06203164e846c2f390c4bebedb29211ec008e060dc80b10f53de6d6cdc822d4f51a543057736fe33448 +DIST is_terminal_polyfill-1.70.0.crate 7451 BLAKE2B 9efe76f14d61a5af6d3cd30d5e64209971d4292d8d2c12f4a621ef65324a5bccbb7e1d79d5efa75ea7456431241d6325cdeaa0af802b1480c6cd9c1bc5a35994 SHA512 c07d5076978e4c5d8d6a191d8880fb62643161979c473564881feb17726cd9ac8da25c40094ff12727dbdb064fe88fbda1867120a2c3fda1051bcc39380645d6 +DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3 +DIST itertools-0.14.0.crate 152715 BLAKE2B 3c075b735a6ae4b66980b1f7ca0ccf4237286b140268ea179e4ac01b1349105da227f03ea9ea721d3e762c3cf8b736cc48b6902148eae73addd864b9c79aa219 SHA512 bb168e21281ef3e43f9c93a079fc1938d79b6db2366fe17e26a90f7ce6fa55df73e54a06334cdb2a7b208b0a64473b5af9de76827a9ecb49378a5f9073d2e645 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST js-sys-0.3.69.crate 81083 BLAKE2B 529c94cd2289883b3b43a848d47d8ae025ad0909548a38ba93ebc684ed3edafab16842b922da6c8b6be5ba39c36a1c05057dd3dd93fc8936d5dac372937ab8f6 SHA512 506722e6dc13484828a4147d974822ff9d103d9e7db58a48181b0957770d9fc43b97605ced105c5b680d8b2cda5fa1705f605707611cb48ed8a45a96d5f196b9 +DIST kv-log-macro-1.0.7.crate 16842 BLAKE2B ad3c028863d78730e4b2bb2e8cb980581b13d741b5dd2b76435ae91f5a7498a1e9f99178a0c9370b693a3af6a95c0682ff0d63e81a2515a267c6564d50ec3683 SHA512 aa7d79ae599930dcbca06f77590d9623dce461b118435dae1a4128fa8f38149a820109fe4bd1f19944b67285cf1b41bbf78e94b47e561dff1af683953c55a697 +DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.25.crate 44876 BLAKE2B ab9433934d16edca42b38f559c3c87f949c4540fc422e6d65c75aedd5055c7a4935ac0f735e7ef5c901a7443e70d60be77079a104dc61a3955b0c900162b3967 SHA512 b420404c82aeb04219e9f63505d60b8853cad44d1de0bec0750715baae21afae806bd4f741bb8964dd39bb5d1e0f5be41bc38d76773bdfd5e920d30533146231 +DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1 +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST miniz_oxide-0.7.4.crate 56119 BLAKE2B 68facfec9ff405bebe99f52bcf3aac6788f1b5eef313ca393e2a15e1158bf294003cbe31efea4c793e644e8ab4e00ef67d38f7d32849ab6f01a8e19d31c30221 SHA512 482bf02d7bfd25bd8abe5e5959132677202d8c5dc014b9b0b64fbdc204be1b8431867095c140a1183dd1ca59f6ba871a355422fbd148ce34d62960cad2b7a978 +DIST mio-0.8.11.crate 102983 BLAKE2B 913a8e0e4843b3b19cce3eeaaff0a0024eaf1bdb4784a710e54ee95b6631edbd763e37669ec7d269e45157907663dd2eb6c9279db850fa47ef4c1eee867ea24a SHA512 9a2806ea78b0637d0cf92448abcd50bc5d09bd80da0f37752c847bc98d014baae7a5cc4d929de98be6283c76d82ccab1f1467aa6ab583a4e782d97d5592b0bb1 +DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e549127158dab8bb5d217ee33104fe9ad5f58b63a01d56fffa8d7c4df1a87dcf5b536e436a0ef98dc4418a4690c4cc15 SHA512 19d14a7755de2b559026547d9e3e1775e636781bdfdd418f2e1d962c51411a0973a46d84d0356e30c0f708a7c7b2097926611960043f71391919cab1aeb6aa04 +DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST object-0.36.1.crate 323865 BLAKE2B 60afa0ce744d32544b56e982fee69a33114de81ddb8e25156c4f1c6e492b39390a47e14a929cb7a9688bad34923a67d164295a42eb17932433b7d6b5cac72d85 SHA512 a64a7538f4be5473f9f206cdb0c79cc402ff3c868b7b4d33ec899e07754d55999e9a1dea0f7cc465be8effb3dbf9859d1460b083de1e3ee7bbdc7434d242361a +DIST once_cell-1.20.3.crate 33456 BLAKE2B b16081751a1b6649d0235fe9cef3fd0a9023d4f6980521933e4a411282458050ca27c1a8aa01d5237d424fa279219b5713da21d8900eccc3100d19c37d24b7a2 SHA512 3ede903f232d6ced73aa74c6b2e2ec306012517eac684db253913df4656515d087d1aff9f437a58fdeecb77cedf8a5960d6772d72bf1f1f19f1ce3fe54bc72dd +DIST oorandom-11.1.4.crate 10201 BLAKE2B fc77678ec202bc5ef7314ed876f670575983612db9cc94ddec4ad7e9f04e2e2742d12b746803b33f1dada4a10c8afe19210fbc337803ca59a0df74998fa6de92 SHA512 8d5acd7b344b1eb9635ae597b38d65f0da519366664f02bfd083d37b5e9c88f21403066a8e93d8a61e843e06ad9323cca9796058aabd901d0adf7e7235c17562 +DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56 +DIST parameterized-2.0.0.crate 15092 BLAKE2B e69658b8be43cae88d9ef184dd5571acc2d58dac3ccf2d55f010bf2021b09e92e8d837995c97193ff75e1dec8b6547935ad5f04336f201a23628bb7170b65c52 SHA512 b3a1511f8d31fe1cc09ef43c48eef894ffe845862296678e6983ddf67b8697607d01fd11365bc0cccd13d7f4eed9feea4dace4cd30a05d45d6ef4fd41762993a +DIST parameterized-macro-2.0.0.crate 9151 BLAKE2B 3fbac19cb2e4d5e58b0aed5c39d88939ff2b95f369e5fc262439781ff5ae5d94f88e2683c0dacf78f96ebd5e4e6561987f013959e80be8b50be86049f2cec58f SHA512 660b87911f68e8504a894adcfe7792e2107317baa36b0af3b035f2cd7713c64d09295761f466ca6c635851e8d18219fd97da3d7616515b6cbea1b1e0ab4f4a9a +DIST parking-2.2.0.crate 9730 BLAKE2B c6da9ea4d8c0a488a64510781b025ce07f283814a09703c58e8d46c625cd74e2c55d7e28a4c09b0886fe4ab415b128bd3114f8283d4c903398e12a11d65489b6 SHA512 184a4514322279ed093a27a9bcad5fce808900a9ebbfb624216dfcb90a5483e8bcc054d82a0bba4da3809364ad1ed0a623328cf983bec3751e4503c9670a3f9a +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST piper-0.2.3.crate 15924 BLAKE2B 13263d38692f954b321568d999c92640040b4a411ceb82fa68ad84e32c40f56d62db49a0611f4afc24825fd8aa7252422120581e173d9adc236e0294cd11e759 SHA512 18867a2ca43c3224c3c749debdcfb65c07e0fe28759973140320712ec0d6a86125635665aceb4feae0c3aca9667048b6754121b7667a2c8caa1ecd2e3b3af7c9 +DIST plotters-0.3.7.crate 149031 BLAKE2B a53b3aa85eda3ac2278cf49c4d701642b37a5f52a3a013594101388d9d104b96e35f542ff6b8ee33bf711fb64c8c25a48c8f10b3c12e70e6e57c90fd30cb9b5f SHA512 526fa20153b445176efcd1314c2e36963561e267c566223ddbbcdaf74340aa821e9c0174c15849c55f3cb3177fd5e34aa9bdd872888476b7ff0a20ec3c1a04e1 +DIST plotters-backend-0.3.7.crate 13709 BLAKE2B 7ba96de1435beaffe0171dd4fd010f84d0bb6bf0856adb05da87dd324a5834aee3a71545a019ac899e141cec32cd15e395c56d281f498430e54b6715eaa46761 SHA512 5b53e5d369f39748d45269c82c87a0731cf23666b88d7e407162602c715a01807ebc50f8a90805f417c0e7e74dc511d1d7861052835beb8a9d548e2f33c062e3 +DIST plotters-svg-0.3.7.crate 6715 BLAKE2B 1437ad7e1c1b3e82ab1f58660ff6931e510f6ea5ea6cae6eb48582d4652bc65c5dad518d3312e25303651c03d90bf56d9abac4c2e3979f8290b4cb35c0b6ba5c SHA512 9a60e19026edfad359a7d042630b60825d7723855fc0c17881ac880c29160a81449ca672a3ae5cea4405293947ae0556f31cb37f519dad4cef56353248350cd6 +DIST polling-3.7.2.crate 57988 BLAKE2B 4a957ac93d2d4b1d1cda0525b42b6f5b9a3a93b115fd107339e7cdadeb7344833749467ee99cd7c77de0a065378faf89dbf85520fa1a71b67f71e7f9dd5eaa53 SHA512 d98ead0c929458f65ff75b9712ef9665878ad2656c729333eaea4340a236f67876b1c665eb683f695c9f12a89420401e1461c39ae8297081f4789dd5d2a7562b +DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a +DIST proc-macro2-1.0.93.crate 52388 BLAKE2B dae4493215b88f68cc485bc0ae80f0a48ebad68e0260839b1c367832d1ab778197bf040647b3fe36cfe9d5f7a496e05cd71b5914f531eb129c2d458d5f0be896 SHA512 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c +DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9 +DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand-0.9.0.crate 97798 BLAKE2B db07e33ceedec70d4cf094ba18d010e45036d9ab847beceefd1dbfd3cf7a608d9e333ff1a0f157cd920dd71d8e63d0e3634f24076b72a88aa3ccd29f25770536 SHA512 e07c9650dda7f9686b4f604990bb7f948667bc820322f464302fac3b2a8136a2a5d48ae6399f104e47bc1ebfda105f99ad8b031ce090cdb71840afb85f6a3032 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rand_core-0.9.0.crate 23441 BLAKE2B 8f1543e2f33622edba457c340bdb4c266f8a3c9cdd95a3afaadf487f8dca7760548316227c1decc481a7e1ca5475f6915cfadb1ffd3860631c7a91494ea7f25a SHA512 def4746229c8405ceb46eb9300838918693f17a39a749e6ca42ad73fd02b0f0e14dca0dd26b3f030338db45da0d149d8c563d95cbd71c31995c5ab6294bd087a +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.2.crate 23957 BLAKE2B 6261df25a59af5119a21d31fc3b6a8800bb1783cf2fd63a5524d48d0b187f5f2e65ebbdec00d9282adf110ba8f307d4ceb154bf029a0c6a26e8a887fc722b2d7 SHA512 b7e39a08e220153370449cec7b058c2dbc4916ff7be01b34658e1793035323ecc28f40712194cb9bfc9b863e4bb316e58662721eb0e54f68f09438bd880ea032 +DIST redox_users-0.5.0.crate 15586 BLAKE2B d38045f8b10c2c62eeca1207110e6a194366d17964a641eb4e2898378b9ebb127a5a89f379caf3b4d530f247eb5440844e31056d47a125fe0e6aff25d98d17c5 SHA512 11f255963cede17382071354568315e6aaaec5afe5ae09986fc71e273f6a44ae8eef2f6169e3a5b635bfed7729775d485a4edf655ae8c1297aa73bc156d78554 +DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST resolv-conf-0.7.0.crate 17352 BLAKE2B 32b565a11d5d752e2cce2ac7b44e483b8a682220c99a9ca34d0a440d87cb5a874c407d474e47757f128bc5d78ea57940452eb099ea6fa433d8f6d1fe881f4302 SHA512 538b97f88fee8b82f15845f9a596e09757e3c2869c4e8708ddff97e19348e9f88d4bcf75e810d2aee47113fa64d550a9fe2deac6fc38d95242ebc20228e9b5f4 +DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358 +DIST rlimit-0.10.2.crate 19093 BLAKE2B 1b3cb20fecc89caa3d8079130965476f73cf4e2ed6268d8ae8b0adf42f5759832f5b9c6e43a951dc1945bb68c91f135f3ff63c06602a16c6796ba319595e9bef SHA512 80c713dda749f35753546376b8ad804d9a89f430659b26eea1f56b50ac0c1f28ec3f66e611ec20986e5efcfd70e1cbc38c9be1acc816f668c8f4f864b34a056a +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f +DIST rustls-0.21.12.crate 285674 BLAKE2B 44977600effb314aa3c89609059c61337905f0380464ce05b4e91783f1a1c9076a016c8957afb3d184a7a6d076cdbc59e4703be22fc15c540e46a057527ac1ca SHA512 7e48a990ee69fc298df45d9a0de9b5a33a56261ec3f79ff16065cbae7368705c1f3432b77e3262a6141df68b19cbedcccf16eb271a54202049435c63454186e5 +DIST rustls-pemfile-1.0.4.crate 22092 BLAKE2B 9a776027d6e43a336ecfdd6713d4b1e6642378f81b73c97752563ee1d2cac5b3988afd48c92d25d55f655a6fa248436954aaa0e0bd9c7c679c987ce7df0cc99f SHA512 bc748ee06f2c101d8e54e8c4555e88c5ca824ac7bb0182f8e49bfe1fc66d418d2a3da8e454f3741697f491ad0c7bc8e924a752697023a191c1bb6eb98c48aa37 +DIST rustls-webpki-0.101.7.crate 168808 BLAKE2B ab7177449be359e17f1f4553193e96e71b8e26e1298a0937af658b1a6f9485f051183d1bf8262d52430ea4c3b96263d1fd903c7a5f046bfe5f87b6b97ebb0672 SHA512 680e3d52f699c9d6200e2e738a4245a5114fc7122546c07d3f15f1e6741a52275061b3e016c2240f1dc3eb9f701f7346193bd82e827274fb73b8e9e0d5af4e68 +DIST rustscan-2.4.1.tar.gz 3114776 BLAKE2B 778489d0cb8fa353269faf5592099dd78cdb136a94810924226a91ec3c9b7227fc9e250bffb4f4efb8c60394880e1db4800573650c6919f123590e992d1a822c SHA512 c55edabd03bef7540633212110c8ebdf483632cd8602b1ad8481063f6d3bba1b1ee5c03ec5ae32ac71bd75e0ee0ecc7195b5ccbe76b1e91a6a3155bc6df06de0 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST sct-0.7.1.crate 27501 BLAKE2B 12f63e62f49a0ed0c5a62c1c9b42a83c1df43401ed1de85f993167d8fc52733908e58ea1fe76cd7ff6128d4d6046d7c0335434672ed1865c8ddb1b3fbaecb590 SHA512 6030295b3b11411f5a7e518db1066282bf11a279c27414c5e959cd430e9fcbb7358e5d69bcc68c8bf696d4c1d9579ed7218b7f9dfbb61de2271c4c3d3316fb7e +DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f +DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e +DIST serde_json-1.0.120.crate 147062 BLAKE2B 54f93ef2b0f1c9e7c5a8e8797fd298c96513913a20c3e08a21aea39a15ffb5ad0269d5daab10fceea7164ba432e355b89d89dea2985f86bd0e73ac3920f827c5 SHA512 dab44850326f9020d6f6dd3fc8147e22eed693527fe9cac2c6bc8f6a030f461061e8e54d2780382ce32cced63b5a016372a4f9938effdd1631d8f3dc96014e3e +DIST serde_spanned-0.6.8.crate 9330 BLAKE2B 630bb2cabd74e8d9736e315ac57c4d2c5c4f72264aab35ecc8e0040cb4186885722051a9f7b8a9006fd121fe58428cbb151e5cf541e7de30b6528c84e968f7ac SHA512 2343a2fda35ff57ed8ff7d8eeadd651821fce7e22f91c2d5797c6af7db9e009b7d637382f6f390c17911912865a5aea1ce87a86fbe36f4b6aeccb065a4c8942d +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST socket2-0.5.7.crate 55758 BLAKE2B 148d2e2b6610895ec555b1357b340576984eb76cb3ea719f85af50cc4215b2ea2db739e2a61434c09360a0c1ff8e05911764e18dc4a59451c0aeb0eb60b8403f SHA512 ca37157bfa970cf3cee8b45c7fe64930becf2ffbbc309ea4613be968400279b70edd084d159f65b76fe1130917312d81455023c0d7c1bab7a59c79542aef9dcd +DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST syn-2.0.96.crate 297497 BLAKE2B 68b62de28ad670572096a1d92ff8ed6fb55fee441f2d429edfeffcc48fa1d4f1cd39327540a4216d94a9763b84831956cb7e5c8ce89b81f1dc5767ea5734620d SHA512 ec2e352a5b0b2aa619774c01d7a7767674a44ffe91dea45d3379bf172d13039c3d37f264e98e26b20fe1d86db6d5190f220831c842f3316469d4ae73c2bfddec +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa +DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681 +DIST text_placeholder-0.5.1.crate 7744 BLAKE2B a29d8aea14dbea90acc0c9dfc6323a1b0acf5ba43bda976dcdc90d19a20014f021dcff4f8fd89ed1b3a16c0d2027920a1a16659a3ebce3c05f841802ccd7d3c3 SHA512 af3e2ef597bebb62f25d8255f49a426d57b708cff5d405e584f2c4f438140e9eef4258fa01ebc1288b94b3f63f670faf641526c398394452f9a7bbb60389ad10 +DIST thiserror-1.0.61.crate 21264 BLAKE2B 97337830507c009dbb4cad84cdfc02bc097b9d39d0af2fdecfaa63f0c12229e60727244fa4e44c2d54daee67bf8b4e8492d94a5de55d1a90b8eeab8c0d082e80 SHA512 9c08b868eaa47178ee60733aaeeda60dc46d58d2b9c15985ba3dcae4923e8edf02b97556df52f508753b0ff52782f6ca3227e9ef6343066e5d5d3a89e03f3f15 +DIST thiserror-2.0.11.crate 28648 BLAKE2B 973126f9a9ca5f3118e830af11ddde4b26c905e13df89b2888b42facc4e48b3adea53b66405260f6291c3df7ddb85a93856841be3626b005040b3fd15502e2bd SHA512 ba0c3c2615bb9bfb07affa66ffeb2eeda43b16a974dc9a0482165a4a5a502a376e2fd6b569a228a08647de23d291e2c301dedf89d8caa79833b965a184dd5904 +DIST thiserror-impl-1.0.61.crate 15786 BLAKE2B d63773424aa047c6eed8a6c9bcc8dfcee9841a2d4fdf6fc2c117695c09359371931722198b2e0b2bae32b0c54b6275f964e679b78b8bef1c365ca33aa41562c9 SHA512 b43bd2ba6b751b777e2fc78aac92a3e662a1876f704625c4e894019fc68a6b7628b9c3b7ddfbd2cb15fe6fdc0ff679ff94b0c47e2660a40919000ad2fe1cfeec +DIST thiserror-impl-2.0.11.crate 21067 BLAKE2B 33be76d7ab098eaeeaefb2ea5ef20a73221ac51b491d6339e1fff66e24118854f3640de43241e233c68be17804b90d22d75f1d60f7df274acef4647c871e0e17 SHA512 3fb76f16613064917d2b21f1bab06fd4dec9f40ad1f850aa78c5917854347cf9034a72d2091dc792ac06ce9ff9e29ed2bec3a4330b459abff379356e35c8f701 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 +DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9 +DIST tinyvec-1.7.0.crate 46743 BLAKE2B ec9741aaf6900ed2651c222d80688176353fd2ba99ef54db18059bc527b638fea1e9d0ed03b18a8c2f3a4732f94dcfbdf1411050f1d744da5d88cbab569b88de SHA512 9628e5a8861d01e22f00161b3cee58861a2801cd0c64016872bc0c6fb49899a553abd0bbed61064ed91e3a8fbd93e311b2a622fd21d74345e80ec27c1e2f36db +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST tokio-1.38.0.crate 774094 BLAKE2B c7d85234ed0de32526246d2ecb52b70b1c4b81681c6b26aeec256090b4aafb41a9173dbe754a5716baecf2c45d9e3cc02fa375fbb343da09e728890b0194b9ff SHA512 4bc16fe979f2261cb17f007ce8ebb05b915be79c1000c5c429744cab01755b933908aadba0005c84faba6bf5d486ae6e3aae6c8f9bf0d6a5dc0ab6d0390ebae9 +DIST tokio-rustls-0.24.1.crate 33049 BLAKE2B b061bc5895b9d7e5aef96512667673ac6fb813a4524b1f6620af9e2598425662b15b5e07d3896499b8a24d820462d15b71a2b9cc804886d546c8ac5957f28529 SHA512 93098f34d117107214e2e80e0e6c030423850ba160d1858b5149c165643700d308dacef7723e45b79fc911ba13bc1bf363c89ccac047cc6636e48a9a5a9502fa +DIST toml-0.8.20.crate 51095 BLAKE2B 8e46bf5b667fa650883fba759efd1cc524fa758eaf1b9124f73121127cc72c0ebefaf64edaba6d249d7a9d0d81f75295d335f68e4e88d20949aba538a2aa71a5 SHA512 c842705270baea3e62e3b0535485f15af87e9a1b26dafb7945e1918e9fd59654b83316ace4ff837d84739d2dd1fddfafabc7d7b0c3ea1dcb9a07433a8cce72f1 +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_edit-0.22.23.crate 106376 BLAKE2B d218ade72fcf2ced6f40eeb4d32dd616dc82d3bf9bf82492b4a0bb11c2448cf411bf15bc4f9193659aeab027f8652a5b3f3982a689d39ba384ce8d5ec6815447 SHA512 4a08e10910c6fa089a3c788aed3df222c70c5567e97128810fc0eb881ff88ba8db0e9bb6a1877f24ea6bc1b259769293440991147536bca61e5ba8eda6ce29ba +DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275 +DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0 +DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521 +DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 +DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416 +DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST value-bag-1.9.0.crate 39936 BLAKE2B 78bd900226b9032f2016ae087f92e5f47ec282fba37dcbb204faa83ff4bcddca8f47a14f899d36dabe0df0a684c8f1874d26206edbb5fdbb30b883c09afb37cc SHA512 37b121feb957f81f9900cd5754bc3e5bbb5ac53e4f5626ee1aaacaf70d5c3d1c0128b26f585b8bcaf555970a0f023ee977fac836861a3f928b70b2b79ac5bac5 +DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 +DIST wait-timeout-0.2.1.crate 11435 BLAKE2B 6fc9e1b88253c96aaadeafa4eace8281ef9c4bc961334058866e9db9490da35f191973d46753c381cbd53fd8b8843ed3ccaf681bd26fed5113cbdc9872b1f635 SHA512 aa89eb76bd7abc8c12d0d372a74a3e838978d85939ae5bec97392031ba4c211c09fbc0a8719c668835dec325f94c6098a9a684ba180f9fa8352f8131754cd334 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasi-0.13.3+wasi-0.2.2.crate 136754 BLAKE2B a17e2670caed033c1b2e2bd709a79c1dff5d0ff46b32e9d9b0faceac2b3350397e7bc6ce113a9275c400537121c9d853130b4bd546afbf0bcd248f4c69d8a708 SHA512 c0b0ce3c4d82ad7350e017fda565a69cf91186ebc41a1c5bc21a6e2fd2f0d8e7d90bcd60488074da6062ac1fa39c684ddd8ee1d8efd66e82eff36ddb16682abd +DIST wasm-bindgen-0.2.92.crate 184119 BLAKE2B ca256c686bb3854492bad6afe3cd27dab314561a1ea2e0205579820066b462bacdb2cc01075fb420bd20eb33b03a648ce1ff46feee04d8759ea8aa990ff8232a SHA512 6e46501276c0d4befbf930c816d6ae6c3764e3b5ce0ef4aafa627a6ea371f1a056ecc15970a817e9e9bf51c0a2ffa57df427d758b2d367beb6a474d75b8939a5 +DIST wasm-bindgen-backend-0.2.92.crate 28348 BLAKE2B 425497aa7a023b70549c55d5a15dfed80877c5503863b186c0a9d11b29551c4606c1cd5961c7dfdeee2eab5662952ad7ad215513e93abe727a33f84b30bd181e SHA512 22e4f5848d62bd1fd55f4f054ea1293e223b3cd6f916bde2523eec10388e733623492c3a3246d61831e696dffdec5d000b95e9aa1217be6e38dd6459872166aa +DIST wasm-bindgen-futures-0.4.42.crate 15380 BLAKE2B a20ba9f2bc814d7aac031f1cbaec90289f63893b76c60b536a65af85379771e102d6c3d949a8528328587ac776d7a3b684c12a217f9e186bf10046a1fcb34652 SHA512 0a77203499381b6bc4e9258480d7ef499d9c26b195baf38d0b7b228872f844d24c827cd57c8e2b0176927fd5957428084f53fe80cf60b35b7ba02d02b27a4682 +DIST wasm-bindgen-macro-0.2.92.crate 13835 BLAKE2B 1f2202fdaeb78c32813eaf08b2fbd7aa9c469228386df71b8ffd81a46374e39a7104b79991f702505f9b7e97957fda8574517fbb03e3f9e93098c4d6e1e46be3 SHA512 78d2ddac88a9ca3ca5eef8a7af81cdf2366187a67d844e69f65f6893d1949f9723ab5f2be762c2217a5c21aee2f3dbc2d5d55ef0c9cbf0dec0d52d67a6ba7462 +DIST wasm-bindgen-macro-support-0.2.92.crate 20092 BLAKE2B 8e274a4053e7afc680740e811c3941478caf5342e2206e3d28cdea9f9514bedbfa4f2b6bc608817306a1c455dd7134b7e17f0f04499f6bfb5302f29b041ac7ae SHA512 92543d2aad0b25798ec20e68832b823610c2c01401088cd9cac1684a86ddd1b567b3e2712acb862060f9c645a0df509b01d9834fd3e13cdaab97960f66d8daa7 +DIST wasm-bindgen-shared-0.2.92.crate 7263 BLAKE2B e54895486b9a31cc4651b7bb042059cc84421708346c06a9764315ebd4f440a1077520c7d325d6889a690b2c06aa185d40cede2dc4d061b363594cbde20fac31 SHA512 70e3a22731ed8aec428433bf30500eb3f62e3b7f4f1be34d8bb3b6f34f99690fc85d49eb413caecab807064494cfec64242c6a42709dffd638046e370bf86e07 +DIST web-sys-0.3.69.crate 728877 BLAKE2B 9f1678cbddb15f5a37331216a43785c72896f87e8ce62c6b9e69007316ca6eeaa7edbb33b9f2d9bf96c98de2a1e10afe491d8734657b186e2c3905ad1ff19ad9 SHA512 78b79ceb6a47485c766ad660bb8b971ba549424542a020c35c7db64a19f7b161617e464eaea0602f433b6ac4973b8d1a86a56e76dcda179ccea60aef1245347b +DIST widestring-1.1.0.crate 85046 BLAKE2B 591f8ba6c3c45721d342fd4668805c19915d500b2b46b8e1e75a485ebc772db187acec791205415e5cbf288ee70299a5813a3185d933443d426eb61d7fc6003f SHA512 a4feb959e19d5238e89b0973f040b26849f896e7e9fd567d0e74fbb4972958a4dd76e74de5ea8d407b74cff28f20f9c80446488da6abdbee38aa87a94d683435 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.7.1.crate 170986 BLAKE2B 0c68ef187c248b7a04fc86aca9ed87eaa1cbfbf7ba63c64f6aceb9398d57d8d3a250d23d581710d86b593dc816fdac89c3a95abf3c4fe6c830a9d488ab95d512 SHA512 640952229a81845fbc2e425c816298481dcd7c86ba237e7f3d7cfc4e38a590e62787f0a1468037314c40452df69070f7809291f084484ea5a1ebc5e5315e0899 +DIST winreg-0.50.0.crate 29703 BLAKE2B db9a968ef96cc07bc1088831affc4627e09c7ab8170a54fdf70a599c2d6180a8a9ac46b6304b61fdd2fac96e01bb004ebd8051940300c7b52c5b7b7975732d11 SHA512 2f52a9e3ab794665263499c88dfdf06009c6477d180a90ebbe86e786ae7f5003c9dc8b3c26224024e79450f3b94688000458f2ea8b1ae1c3691453c3d4df4787 +DIST wit-bindgen-rt-0.33.0.crate 3357 BLAKE2B 7c5227e835eb405b681ba36a2472fb3330b9e44f8e9cef06ae5de326691d4e4535cfd09843241963572060f4ccb048aa088fb8692591f9253cd215f510969420 SHA512 fffae2da775fcb5066398aba5cd02119a07f5bb5ab2282c74f1665656de0278ba13352b8ccc6ff107677aec3ec5d401729158332f653e0a2e7b393d1aa018b8a +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 +DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef +DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-0.8.14.crate 229188 BLAKE2B 9a77e34a409cd2e02bde03ac27b5c676ba24deee2044ea40df3733c7c917b7b007b5eeb3770787215c5562f539a10df63bef3b2e14fc1907b884b5ab142315ba SHA512 3fa3186cc509fe92ecc305f331b3422a2b622803fa088028d4a8c07bb74a670e4289d8c3b5c617ce1315cd09192058e1491ee87d78c81efb2840d187d6805f30 +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zerocopy-derive-0.8.14.crate 80308 BLAKE2B f66557cddeae39596cd6cdbd86f4444622281fdec823660250a19ebb2610e1a611341560025ee11d31898e844edb33c8de62e1623243babe9d59529eedd81131 SHA512 7204b9584cc6bdbcb1bf2408be26ebc5266ec3084816c2eafbc7e0712437eeceaf479851388534a11a310d354b43261c1cdc0b01391bf2550ce0efd9fc4ab461 +DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544 +DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298 +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 diff --git a/net-analyzer/rustscan/metadata.xml b/net-analyzer/rustscan/metadata.xml new file mode 100644 index 000000000000..0938545f15e4 --- /dev/null +++ b/net-analyzer/rustscan/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>ago@gentoo.org</email> + <name>Agostino Sarubbo</name> + </maintainer> + <use> + <flag name="nmap">Installs <pkg>net-analyzer/nmap</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/rustscan/rustscan-2.4.1.ebuild b/net-analyzer/rustscan/rustscan-2.4.1.ebuild new file mode 100644 index 000000000000..0a9a094b00fe --- /dev/null +++ b/net-analyzer/rustscan/rustscan-2.4.1.ebuild @@ -0,0 +1,311 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.4 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + anes@0.1.6 + ansi_term@0.12.1 + anstream@0.6.18 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.6 + anstyle@1.0.7 + anyhow@1.0.86 + async-channel@1.9.0 + async-channel@2.3.1 + async-executor@1.12.0 + async-global-executor@2.4.1 + async-io@2.3.3 + async-lock@3.4.0 + async-std@1.13.0 + async-task@4.7.1 + async-trait@0.1.81 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.21.7 + bitflags@2.6.0 + blocking@1.6.1 + bumpalo@3.16.0 + bytes@1.6.0 + cast@0.3.0 + cc@1.0.106 + cfg-if@1.0.0 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + cidr-utils@0.6.1 + cidr@0.2.3 + clap@4.5.13 + clap_builder@4.5.13 + clap_derive@4.5.13 + clap_lex@0.7.1 + colorchoice@1.0.1 + colored@3.0.0 + colorful@0.3.2 + concurrent-queue@2.5.0 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + data-encoding@2.6.0 + dirs-sys@0.5.0 + dirs@6.0.0 + displaydoc@0.2.5 + either@1.13.0 + enum-as-inner@0.6.0 + env_filter@0.1.0 + env_logger@0.11.6 + equivalent@1.0.1 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@2.5.3 + event-listener@5.3.1 + fastrand@2.1.0 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + gcd@2.3.0 + getrandom@0.2.15 + getrandom@0.3.1 + gimli@0.29.0 + gloo-timers@0.3.0 + half@2.4.1 + hashbrown@0.12.3 + hashbrown@0.13.2 + hashbrown@0.15.0 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hickory-proto@0.24.3 + hickory-resolver@0.24.3 + hostname@0.3.1 + humantime@2.1.0 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@0.5.0 + idna@1.0.3 + idna_adapter@1.2.0 + indexmap@1.9.3 + indexmap@2.6.0 + ipconfig@0.3.2 + ipnet@2.9.0 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.0 + itertools@0.10.5 + itertools@0.14.0 + itoa@1.0.11 + js-sys@0.3.69 + kv-log-macro@1.0.7 + libc@0.2.155 + libredox@0.1.3 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.25 + lru-cache@0.1.2 + match_cfg@0.1.0 + memchr@2.7.4 + miniz_oxide@0.7.4 + mio@0.8.11 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.36.1 + once_cell@1.20.3 + oorandom@11.1.4 + option-ext@0.2.0 + parameterized-macro@2.0.0 + parameterized@2.0.0 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.3 + plotters-backend@0.3.7 + plotters-svg@0.3.7 + plotters@0.3.7 + polling@3.7.2 + ppv-lite86@0.2.17 + proc-macro2@1.0.93 + quick-error@1.2.3 + quote@1.0.36 + rand@0.8.5 + rand@0.9.0 + rand_chacha@0.3.1 + rand_chacha@0.9.0 + rand_core@0.6.4 + rand_core@0.9.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.2 + redox_users@0.5.0 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + resolv-conf@0.7.0 + ring@0.17.8 + rlimit@0.10.2 + rustc-demangle@0.1.24 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustls-webpki@0.101.7 + rustls@0.21.12 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + sct@0.7.1 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_spanned@0.6.8 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.9.8 + stable_deref_trait@1.2.0 + strsim@0.11.1 + syn@2.0.96 + synstructure@0.13.1 + terminal_size@0.3.0 + text_placeholder@0.5.1 + thiserror-impl@1.0.61 + thiserror-impl@2.0.11 + thiserror@1.0.61 + thiserror@2.0.11 + tinystr@0.7.6 + tinytemplate@1.2.1 + tinyvec@1.7.0 + tinyvec_macros@0.1.1 + tokio-rustls@0.24.1 + tokio@1.38.0 + toml@0.8.20 + toml_datetime@0.6.8 + toml_edit@0.22.23 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + untrusted@0.9.0 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + utf8parse@0.2.2 + value-bag@1.9.0 + version_check@0.9.4 + wait-timeout@0.2.1 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasi@0.13.3+wasi-0.2.2 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.7.1 + winreg@0.50.0 + wit-bindgen-rt@0.33.0 + write16@1.0.0 + writeable@0.5.5 + yoke-derive@0.7.5 + yoke@0.7.5 + zerocopy-derive@0.7.35 + zerocopy-derive@0.8.14 + zerocopy@0.7.35 + zerocopy@0.8.14 + zerofrom-derive@0.1.5 + zerofrom@0.1.5 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +RUST_MIN_VER="1.80" + +inherit cargo + +DESCRIPTION="The Modern Port Scanner" +HOMEPAGE="https://github.com/RustScan/RustScan" +SRC_URI="https://github.com/RustScan/RustScan/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/RustScan-${PV}" +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" +IUSE="nmap" +RDEPEND="nmap? ( net-analyzer/nmap )" + +src_test() { + # those tests require the network + if has network-sandbox ${FEATURES} ; then + local CARGO_SKIP_TESTS=( + address::tests::parse_correct_host_addresses + address::tests::parse_hosts_file_and_incorrect_hosts + address::tests::resolver_args_google_dns + address::tests::resolver_default_cloudflare + ) + fi + + cargo_src_test +} diff --git a/net-analyzer/sancp/Manifest b/net-analyzer/sancp/Manifest new file mode 100644 index 000000000000..82188b274820 --- /dev/null +++ b/net-analyzer/sancp/Manifest @@ -0,0 +1,6 @@ +DIST sancp-1.6.1-musl.patch.bz2 7013 BLAKE2B a54c3a3c45b1029a95451a21de2b42497434dff6715cb173db5f04293740f3e03869900e23c571dae97a563a9b7fdce76c4295f3267857a77a074a65e79f3b53 SHA512 3310577acef1d16b87b51924ed6fbb82b491afc5646555667fcd2430aef1b0dd5f0ee510c6356eebd32402b79eb8e9f5032955b5194517acc0c055da8dd74fc2 +DIST sancp-1.6.1.fix200511.a.patch 662 BLAKE2B d3d5114662f3904db4052d581b3a95f07f5a492b439958bd64149ca6f9aaf48f2d2d9cf2094500b9ab829b3a06358180893637ed6d3f502ef46f87dfe8527ccc SHA512 87662d9ea863a3a2468b7b64c81a191d34c81348eab9374245a73d3ed63cf2f25df54561f092f3713d516d9cc4eb553d4d7286fd920676a301e61669a023142e +DIST sancp-1.6.1.fix200511.b.patch 870 BLAKE2B 18ad38c37f11aa1c4804400db5475323db25e0c135d3478e9c81af3a0a3885f397521fdf9b58825216fdd16ec2e2616584f3dc9e175e76d64c7125a767b2c029 SHA512 a54bbec1ce3799f83c006f7375297bafee85b12a90361f1f5dbbf46c936193c7e0f1196483a2bdf560019e93ceffe9129b3c01322eedc397e5dfa3a1a6b76b81 +DIST sancp-1.6.1.fix200601.c.patch 3578 BLAKE2B 7c7e5ef0e1967d41f731d3c79f4273a4ebfc922159ada1940ba4635f6f82e63ed55faeffe53636d2c8fd96d57e1516211fff8852c73876d019fc13d59f4ace9d SHA512 3d15028d33e7dbddc74d8c6eefac6d66e357f024dca15afdfb8156b0cf969ab093c26baa43ebf7c1ac88f4275ef4bdc91c1cc69c5aa7b439a042ed966edea30f +DIST sancp-1.6.1.fix200606.d.patch 6847 BLAKE2B 2d3d2369738adef1ae5ea37cfcab5952be243af269574292e042e361d7d4d02174bbaea2769f5fa6bf802eea6ae9559a3b637ee4dbce1b53715f1e4b66f9df51 SHA512 474a69052a2b9642fdc59e28c0237852d49b7b05445f0ffbbd2ea3f01b70a44e10ee49fba6294b413a53afe50271aaf88f979f8c479fb4b464b3ba5a70534276 +DIST sancp-1.6.1.tar.gz 69986 BLAKE2B 66ed4f5817f1bc299edc66441eea97fa0deeb0fffb15aeb251e3b0351d35f1c25aa452b30e0ba3feb80d306929687448228d0b6ac96e8deaf16c83322b73916a SHA512 41c6b35a2e7295d3b8185b9cc556c56b285cae7542c7ace78e663e54cef8d470bfa2ee083d9837fa34cf5ad1e7c325fb838b00e4f776f5662cade7d61e07145c diff --git a/net-analyzer/sancp/files/sancp-1.6.1-compiler.patch b/net-analyzer/sancp/files/sancp-1.6.1-compiler.patch new file mode 100644 index 000000000000..5b4391d79ddc --- /dev/null +++ b/net-analyzer/sancp/files/sancp-1.6.1-compiler.patch @@ -0,0 +1,45 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,26 +1,26 @@ + + # !!! Uncomment this CFLAGS for a small binary !!! +-CFLAGS = -O3 -s -I/usr/include/pcap -L/usr/lib/libpcap.so.0.6.2 ++CFLAGS += -I/usr/include/pcap -L/usr/lib/libpcap.so.0.6.2 + + # !!! or uncomment this CFLAGS for a large binary with symbols; use for debugging !!! + #CFLAGS = -O0 -g -I/usr/include/pcap -L/usr/lib/libpcap.so.0.6.2 + + final : sancp.cc Makefile +- if [ ! -f build_acl.o -o build_acl.cc -nt build_acl.o ]; then g++ -Wall $(CFLAGS) -c build_acl.cc -o build_acl.o; fi +- if [ ! -f misc_functs.o -o misc_functs.cc -nt misc_functs.o ]; then g++ -Wall $(CFLAGS) -c misc_functs.cc -o misc_functs.o; fi +- if [ ! -f outputFileHandle.o -o outputFileHandle.cc -nt outputFileHandle.o ]; then g++ -Wall $(CFLAGS) -c outputFileHandle.cc -o outputFileHandle.o; fi +- if [ ! -f apply_rule.o -o apply_rule.cc -nt apply_rule.o ]; then g++ -Wall $(CFLAGS) -c apply_rule.cc -o apply_rule.o; fi +- if [ ! -f decode.o -o decode.cc -nt decode.o ]; then g++ -Wall $(CFLAGS) -c decode.cc -o decode.o; fi +- if [ ! -f fileHandle.o -o fileHandle.cc -nt fileHandle.o ]; then g++ -Wall $(CFLAGS) -c fileHandle.cc -o fileHandle.o; fi +- if [ ! -f MemoryPool.o -o MemoryPool.cc -nt MemoryPool.o ]; then g++ -Wall $(CFLAGS) -c MemoryPool.cc -o MemoryPool.o; fi +- if [ ! -f pcapFileHandle.o -o pcapFileHandle.cc -nt pcapFileHandle.o ]; then g++ -Wall $(CFLAGS) -c pcapFileHandle.cc -o pcapFileHandle.o; fi +- if [ ! -f sancp.o -o sancp.cc -nt sancp.o ]; then g++ -Wall $(CFLAGS) -c sancp.cc -o sancp.o; fi +- if [ ! -f pcap_functions.o -o pcap_functions.c -nt pcap_functions.o ]; then gcc -Wall $(CFLAGS) -c pcap_functions.c -o pcap_functions.o; fi +- if [ ! -f help.o -o help.cc -nt help.o ]; then g++ -Wall $(CFLAGS) -c help.cc -o help.o ; fi +- if [ ! -f permissions.o -o permissions.cc -nt permissions.o ]; then g++ -Wall $(CFLAGS) -c permissions.cc -o permissions.o ; fi +- if [ ! -f check_packet.o -o check_packet.cc -nt check_packet.o ]; then g++ -Wall $(CFLAGS) -c check_packet.cc -o check_packet.o; fi +- if [ ! -f statefull_logging.o -o statefull_logging.cc -nt statefull_logging.o ]; then g++ -Wall $(CFLAGS) -c statefull_logging.cc -o statefull_logging.o ; fi +- g++ -Wall $(CFLAGS) -o sancp sancp.o misc_functs.o check_packet.o statefull_logging.o build_acl.o apply_rule.o decode.o pcap_functions.o pcapFileHandle.o fileHandle.o MemoryPool.o help.o permissions.o outputFileHandle.o -lpcap ++ if [ ! -f build_acl.o -o build_acl.cc -nt build_acl.o ]; then $(CXX) -Wall $(CFLAGS) -c build_acl.cc -o build_acl.o; fi ++ if [ ! -f misc_functs.o -o misc_functs.cc -nt misc_functs.o ]; then $(CXX) -Wall $(CFLAGS) -c misc_functs.cc -o misc_functs.o; fi ++ if [ ! -f outputFileHandle.o -o outputFileHandle.cc -nt outputFileHandle.o ]; then $(CXX) -Wall $(CFLAGS) -c outputFileHandle.cc -o outputFileHandle.o; fi ++ if [ ! -f apply_rule.o -o apply_rule.cc -nt apply_rule.o ]; then $(CXX) -Wall $(CFLAGS) -c apply_rule.cc -o apply_rule.o; fi ++ if [ ! -f decode.o -o decode.cc -nt decode.o ]; then $(CXX) -Wall $(CFLAGS) -c decode.cc -o decode.o; fi ++ if [ ! -f fileHandle.o -o fileHandle.cc -nt fileHandle.o ]; then $(CXX) -Wall $(CFLAGS) -c fileHandle.cc -o fileHandle.o; fi ++ if [ ! -f MemoryPool.o -o MemoryPool.cc -nt MemoryPool.o ]; then $(CXX) -Wall $(CFLAGS) -c MemoryPool.cc -o MemoryPool.o; fi ++ if [ ! -f pcapFileHandle.o -o pcapFileHandle.cc -nt pcapFileHandle.o ]; then $(CXX) -Wall $(CFLAGS) -c pcapFileHandle.cc -o pcapFileHandle.o; fi ++ if [ ! -f sancp.o -o sancp.cc -nt sancp.o ]; then $(CXX) -Wall $(CFLAGS) -c sancp.cc -o sancp.o; fi ++ if [ ! -f pcap_functions.o -o pcap_functions.c -nt pcap_functions.o ]; then $(CC) -Wall $(CFLAGS) -c pcap_functions.c -o pcap_functions.o; fi ++ if [ ! -f help.o -o help.cc -nt help.o ]; then $(CXX) -Wall $(CFLAGS) -c help.cc -o help.o ; fi ++ if [ ! -f permissions.o -o permissions.cc -nt permissions.o ]; then $(CXX) -Wall $(CFLAGS) -c permissions.cc -o permissions.o ; fi ++ if [ ! -f check_packet.o -o check_packet.cc -nt check_packet.o ]; then $(CXX) -Wall $(CFLAGS) -c check_packet.cc -o check_packet.o; fi ++ if [ ! -f statefull_logging.o -o statefull_logging.cc -nt statefull_logging.o ]; then $(CXX) -Wall $(CFLAGS) -c statefull_logging.cc -o statefull_logging.o ; fi ++ $(CXX) -Wall $(CFLAGS) $(LDFLAGS) -o sancp sancp.o misc_functs.o check_packet.o statefull_logging.o build_acl.o apply_rule.o decode.o pcap_functions.o pcapFileHandle.o fileHandle.o MemoryPool.o help.o permissions.o outputFileHandle.o -lpcap + + clean : + rm -f *.o sancp diff --git a/net-analyzer/sancp/files/sancp-1.6.1-extern.patch b/net-analyzer/sancp/files/sancp-1.6.1-extern.patch new file mode 100644 index 000000000000..c046f1eb4971 --- /dev/null +++ b/net-analyzer/sancp/files/sancp-1.6.1-extern.patch @@ -0,0 +1,18 @@ +--- a/sancp.cc ++++ b/sancp.cc +@@ -54,7 +54,6 @@ + *************/ + + int main(int argc, char *argv[]) { +- extern struct gvars gVars; + int cKey; + pid_t pid=0; + +@@ -274,7 +273,6 @@ + + extern "C" void ProcessMyPacket(char *user, struct pcap_pkthdr * pkthdr, u_char * pkt) + { +- extern struct gvars gVars; + CBuffer *buffer; + struct cnx *new_cnx=0; + gVars.timeptr.tv_sec=pkthdr->ts.tv_sec; diff --git a/net-analyzer/sancp/files/sancp-1.6.1-gcc6.patch b/net-analyzer/sancp/files/sancp-1.6.1-gcc6.patch new file mode 100644 index 000000000000..e56d7114468e --- /dev/null +++ b/net-analyzer/sancp/files/sancp-1.6.1-gcc6.patch @@ -0,0 +1,26 @@ +--- a/pcapFileHandle.h ++++ b/pcapFileHandle.h +@@ -16,7 +16,12 @@ + + #define PCAP_HEADER_SIZE 24 + +-const char pcap_header[] = { 0xd4,0xc3,0xb2,0xa1,0x02,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x4e,0x00,0x00,0x01,0x00,0x00,0x00 }; ++const char pcap_header[] = { ++ (char) 0xd4,(char) 0xc3,(char) 0xb2,(char) 0xa1,(char) 0x02,(char) 0x00, ++ (char) 0x04,(char) 0x00,(char) 0x00,(char) 0x00,(char) 0x00,(char) 0x00, ++ (char) 0x00,(char) 0x00,(char) 0x00,(char) 0x00,(char) 0x20,(char) 0x4e, ++ (char) 0x00,(char) 0x00,(char) 0x01,(char) 0x00,(char) 0x00,(char) 0x00 ++}; + + class pcapFileHandle : public fileHandle { + +--- a/sancp.h ++++ b/sancp.h +@@ -223,7 +223,6 @@ + #define R_URG 0x20 + #define R_RES2 0x40 + #define R_RES1 0x80 +-#define max(i,j) (((i)>(j)) ? (i) : (j)) + #define SIZE_OF_CLASS_C 11 + + struct t_ports { diff --git a/net-analyzer/sancp/files/sancp.confd b/net-analyzer/sancp/files/sancp.confd new file mode 100644 index 000000000000..31cbef82ec1b --- /dev/null +++ b/net-analyzer/sancp/files/sancp.confd @@ -0,0 +1,15 @@ +# Config file for /etc/init.d/sancp +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Interface to listen on +IFACE="eth0" + +# Directory to log in +LOGDIR="/var/log/sancp" + +# Default config file +CONF="/etc/sancp/sancp.conf" + +# You could add more options :) +SANCP_OPTS="-d $LOGDIR/today -i $IFACE -c $CONF -u sancp -g sancp" diff --git a/net-analyzer/sancp/files/sancp.rc1 b/net-analyzer/sancp/files/sancp.rc1 new file mode 100644 index 000000000000..07745f675676 --- /dev/null +++ b/net-analyzer/sancp/files/sancp.rc1 @@ -0,0 +1,42 @@ +#!/sbin/openrc-run +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +today=$(date '+%Y-%m-%d') + +depend() { + need net +} +checkconfig() { + if [ ! -e /etc/sancp/sancp.conf ] ; then + eerror "You need an /etc/sancp/sancp.conf to run sancp" + return 1 + fi +} + +start() { + checkconfig || return 1 + + # Today's log directory + if [ ! -d $LOGDIR/$today ]; then + /bin/mkdir $LOGDIR/$today + /bin/rm -f $LOGDIR/today + fi + + # today/ directory :) + if [ ! -d $LOGDIR/today ]; then + /bin/ln -s $LOGDIR/$today $LOGDIR/today + fi + + ebegin "Starting sancp" + start-stop-daemon --start --quiet -m --pidfile /var/run/sancp.pid \ + --exec /usr/bin/sancp \ + -- ${SANCP_OPTS} > /var/log/sancp.log 2>&1 & + eend $? +} + +stop() { + ebegin "Stopping sancp" + start-stop-daemon --stop --quiet --pidfile /var/run/sancp.pid + eend $? +} diff --git a/net-analyzer/sancp/files/sguil_sancp.conf b/net-analyzer/sancp/files/sguil_sancp.conf new file mode 100644 index 000000000000..f559286e7bb3 --- /dev/null +++ b/net-analyzer/sancp/files/sguil_sancp.conf @@ -0,0 +1,69 @@ +# $Id: sancp.conf,v 1.1 2004/03/19 20:33:59 bamm Exp $ # +# +# This sancp.conf is distributed as part of sguil (http://sguil.sf.net). +# It's purpose is to define a default output that is compatible with table +# schema defined by sguil. Please read the README.sancp for more information +# +# sancp is copyrighted by John Curry and can be downloaded at: +# www.metre.net/sancp.html +# + +# SANCP VERSION 1.5.3 + +# Currently, sguil only supports the 'stats' output and we want it in +# timestamped fields +default stats tsfilename stats + +# Time in seconds we write a new file if expired cnxs are available +default flush_interval=30 +# This tells sancp to open new file handle, write, and close in one step +default burst_mode=enable + +# Default timeout: how many secs to wait after the last packet till we consider the cnx closed +default timeout=120 + +# Conforms with out sguil sancp table schema +format stats sancp_id,start_time_gmt,stop_time_gmt,duration,ip_proto,src_ip_decimal,src_port,dst_ip_decimal,dst_port,src_pkts,src_bytes,dst_pkts,dst_bytes,sflags,dflags + +# From here on you define what stats/cnxs/sessions/flows (whatever you +# want to call it) get logged. Please read the sancp documention for +# more information. Most of the below are examples of setting +# variables for complex rules. + +var ip 8 # ether proto 0x0800 # ip traffic + +# define some ip protocols + +var icmp 1 +var tcp 6 +var udp 17 + +# define some tcp protocols + +var http 80 +var https 443 +var smtp 25 +var dns 53 + +var HOME_NET 127.0.0.1 +#var WWW_NET 192.168.1.0/24 +#var MAIL_SERVER 192.168.1.2 +#var MAIL_SERVER2 192.168.1.3 + + +# Default output logging for each connection +# We don't use realtime or pcap logging at this point so we pass them +default realtime=pass +default pcap=pass + +# Here is where our "rules" start. We log all stats by default +# so this is defining exceptions. +# +# first six fields are required before rule options can be used +# +# eth_proto src_ip dst_ip ip_proto src_port dst_port +# + +# Here is an example if ignoring outbound HTTP stats. +#ip HOME_NET any tcp any http, stats pass +#ip HOME_NET any tcp any https, stats pass diff --git a/net-analyzer/sancp/metadata.xml b/net-analyzer/sancp/metadata.xml new file mode 100644 index 000000000000..e6c8881b91f7 --- /dev/null +++ b/net-analyzer/sancp/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="sguil">Enable sguil (The Analyst Console for Network Security Monitoring) support</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sancp/sancp-1.6.1-r7.ebuild b/net-analyzer/sancp/sancp-1.6.1-r7.ebuild new file mode 100644 index 000000000000..f3ea7b0a3461 --- /dev/null +++ b/net-analyzer/sancp/sancp-1.6.1-r7.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="collect network traffic statistics and store them in pcap format" +HOMEPAGE="https://sourceforge.net/projects/sancp/" +SRC_URI="http://www.metre.net/files/${P}.tar.gz + http://sancp.sourceforge.net/${PN}-1.6.1.fix200511.a.patch + http://sancp.sourceforge.net/${PN}-1.6.1.fix200511.b.patch + http://sancp.sourceforge.net/${PN}-1.6.1.fix200601.c.patch + http://sancp.sourceforge.net/${PN}-1.6.1.fix200606.d.patch + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.6.1-musl.patch.bz2" + +LICENSE="QPL-1.0 GPL-2" # GPL-2 for init script +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="sguil" + +RDEPEND=" + acct-group/sancp + acct-user/sancp + net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( + "${DISTDIR}"/${PN}-1.6.1.fix200511.a.patch + "${DISTDIR}"/${PN}-1.6.1.fix200511.b.patch + # bug 138337 + "${DISTDIR}"/${PN}-1.6.1.fix200601.c.patch + "${DISTDIR}"/${PN}-1.6.1.fix200606.d.patch + "${FILESDIR}"/${PN}-1.6.1-compiler.patch + "${FILESDIR}"/${PN}-1.6.1-gcc6.patch + "${FILESDIR}"/${PN}-1.6.1-extern.patch + "${WORKDIR}"/${PN}-1.6.1-musl.patch +) + +src_compile() { + tc-export CC CXX + emake CFLAGS="${CXXFLAGS}" +} + +src_install() { + keepdir /var/log/sancp/ + dodoc docs/CHANGES docs/fields.LIST docs/README docs/SETUP \ + "${FILESDIR}"/sguil_sancp.conf etc/sancp/sancp.conf + + insinto /etc/sancp + if use sguil ; then + newins "${FILESDIR}"/sguil_sancp.conf sancp.conf + else + doins etc/sancp/sancp.conf + fi + + dobin sancp + + newinitd "${FILESDIR}"/sancp.rc1 sancp + newconfd "${FILESDIR}"/sancp.confd sancp + if use sguil ; then + sed -i -e /^SANCP_OPTS/s:'sancp':"sguil":g \ + -e s:'-d $LOGDIR/today':"-d /var/lib/sguil/$(hostname)/sancp": \ + "${D}/etc/conf.d/sancp" + fi + + fowners sancp:sancp /var/log/sancp + fperms 0770 /var/log/sancp +} diff --git a/net-analyzer/sarg/Manifest b/net-analyzer/sarg/Manifest new file mode 100644 index 000000000000..46ce89cb0525 --- /dev/null +++ b/net-analyzer/sarg/Manifest @@ -0,0 +1 @@ +DIST sarg-2.4.0.tar.gz 1371812 BLAKE2B 4a07e97f5bdf36dc9ea867517f511dff4e2b501c01231c523778b283000bcf8e6eeb26e219c3d710551ad31f939a47453341b6a8a5575df1d8f3957461326675 SHA512 cb314c15379b01c1ad874e473fcc41664ed5a0dd492b8537d5f375e2c00d9e083679a01da5e3506775b7d66f2d43ba698864ffbd36f5e5e512ef58882148739b diff --git a/net-analyzer/sarg/files/sarg-2.4.0-config.patch b/net-analyzer/sarg/files/sarg-2.4.0-config.patch new file mode 100644 index 000000000000..1168f98337d7 --- /dev/null +++ b/net-analyzer/sarg/files/sarg-2.4.0-config.patch @@ -0,0 +1,81 @@ +--- a/log.c ++++ b/log.c +@@ -151,7 +151,7 @@ + strcpy(FontSize,"9px"); + strcpy(TempDir,"/tmp"); + TempDirPath[0] = '\0'; +- strcpy(OutputDir,"/var/www/html/squid-reports"); ++ strcpy(OutputDir,"/var/www/localhost/htdocs/squid-reports"); + AnonymousOutputFiles=false; + Ip2Name=false; + DateFormat='u'; +--- a/htaccess ++++ b/htaccess +@@ -1,4 +1,4 @@ +-AuthUserFile /usr/local/sarg/passwd ++AuthUserFile /etc/sarg/passwd + AuthName "SARG, Squid Analysis Report Generator" + AuthType Basic + <Limit GET POST> +--- a/sarg.conf ++++ b/sarg.conf +@@ -17,7 +17,7 @@ + # If some files are passed on the command line with "sarg -l file" or + # "sarg file", the files listed here are ignored. + # +-#access_log /usr/local/squid/var/logs/access.log ++#access_log /var/log/squid/access.log + + # TAG: graphs yes|no + # Use graphics where is possible. +@@ -147,7 +147,7 @@ + # The reports will be saved in that directory + # sarg -o dir + # +-#output_dir /var/www/html/squid-reports ++#output_dir /var/www/localhost/htdocs/squid-reports + + # TAG: anonymous_output_files yes/no + # Use anonymous file and directory names in the report. If it is set to +@@ -632,7 +632,7 @@ + # Generate reports from SquidGuard logs. + # Use 'none' to disable. + # You can use sarg -L filename to use an alternate squidGuard log. +-# squidguard_conf /usr/local/squidGuard/squidGuard.conf ++# squidguard_conf /etc/squidGuard/squidGuard.conf + # + #squidguard_conf none + +--- a/user_limit_block ++++ b/user_limit_block +@@ -24,8 +24,8 @@ + # + # + +-conf="/usr/local/sarg/sarg.conf" +-squid_password_file="/usr/local/squid/etc/passwd" ++conf="/etc/sarg/sarg.conf" ++squid_password_file="/etc/squid/passwd" + tmp="/tmp/sarg_limit.$$" + + limit_file=`grep "per_user_limit" $conf|grep -v "#"|awk '{print $2}'` +--- a/sarg-php/config.php.inc ++++ b/sarg-php/config.php.inc +@@ -1,13 +1,13 @@ + <?php + + // Change to squidGuard and sarg config file paths +-$SargConf = "/usr/local/sarg/sarg.conf"; +-$squidGuardConf = "/usr/local/squidGuard/squidGuard.conf"; ++$SargConf = "/etc/sarg/sarg.conf"; ++$squidGuardConf = "/etc/squidGuard/squidGuard.conf"; + + // File where URL to block will be appended +-$DefaultSquidBlock = "/usr/local/squid/etc/block.txt"; ++$DefaultSquidBlock = "/etc/squid/etc/block.txt"; + + // Choose the locale you want to use to display messages (it must exist on your system) +-$language = "fr_BE.utf-8"; ++$language = "POSIX"; + + ?> diff --git a/net-analyzer/sarg/files/sarg-2.4.0-configure.patch b/net-analyzer/sarg/files/sarg-2.4.0-configure.patch new file mode 100644 index 000000000000..7ca44a6901f1 --- /dev/null +++ b/net-analyzer/sarg/files/sarg-2.4.0-configure.patch @@ -0,0 +1,43 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,11 @@ + dnl C99 support is required to define LLONG_MAX (at least on CentOS 5.7) + AC_PROG_CC_C99 + ++dnl mkdir_p / MKDIR_P ++AC_PROG_MKDIR_P ++mkdir_p="$MKDIR_P" ++AC_SUBST(mkdir_p) ++ + # Report more warnings to improve code quality. + CFLAGS="${CFLAGS} -Wall" + +@@ -50,23 +55,23 @@ + # Don't compare signs as it is a mess + CFLAGS="${CFLAGS} -Wno-sign-compare" + +-AC_MSG_CHECKING([for implicit-function-declaration error flag in $CC]) ++AC_MSG_CHECKING([for implicit-function-declaration warning flag in $CC]) + saved_CFLAGS="${CFLAGS}" +-CFLAGS="${CFLAGS} -Werror=implicit-function-declaration" ++CFLAGS="${CFLAGS} -Wimplicit-function-declaration" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_implicit_function_declaration="yes"],[have_implicit_function_declaration="no"]) + AC_MSG_RESULT($have_implicit_function_declaration) + AS_IF([test "$have_implicit_function_declaration" = "no"],[CFLAGS="${saved_CFLAGS}"]) + +-AC_MSG_CHECKING([for format error flag in $CC]) ++AC_MSG_CHECKING([for format warning flag in $CC]) + saved_CFLAGS="${CFLAGS}" +-CFLAGS="${CFLAGS} -Werror=format" ++CFLAGS="${CFLAGS} -Wformat" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_error_format="yes"],[have_error_format="no"]) + AC_MSG_RESULT($have_error_format) + AS_IF([test "$have_error_format" = "no"],[CFLAGS="${saved_CFLAGS}"]) + + case "$host" in + *-solaris*) +- LDFLAGS="${LDFLAGS} -lsocket -lnsl" ++ LIBS="${LIBS} -lsocket -lnsl" + CFLAGS="-DSOLARIS ${CFLAGS}" + ;; + esac diff --git a/net-analyzer/sarg/files/sarg-2.4.0-fabs.patch b/net-analyzer/sarg/files/sarg-2.4.0-fabs.patch new file mode 100644 index 000000000000..e9b73d88fb4a --- /dev/null +++ b/net-analyzer/sarg/files/sarg-2.4.0-fabs.patch @@ -0,0 +1,11 @@ +--- a/btree_cache.c ++++ b/btree_cache.c +@@ -268,7 +268,7 @@ + static struct bt *get_disbalanced_node(struct bt *node) + { + struct bt *rdn; +- if (fabs(node->balanceinfo) > 1) ++ if (abs(node->balanceinfo) > 1) + return node; + if (node->left) + { diff --git a/net-analyzer/sarg/files/sarg-2.4.0-format.patch b/net-analyzer/sarg/files/sarg-2.4.0-format.patch new file mode 100644 index 000000000000..686f659c1300 --- /dev/null +++ b/net-analyzer/sarg/files/sarg-2.4.0-format.patch @@ -0,0 +1,22 @@ +--- a/userinfo.c ++++ b/userinfo.c +@@ -78,7 +78,7 @@ + int skip; + int flen; + int count, clen; +- char cstr[9]; ++ char cstr[10]; + char filename[MAX_USER_FNAME_LEN]; + + if (!UserStrings) { +--- a/index.c ++++ b/index.c +@@ -535,7 +535,7 @@ + struct dirent *direntp; + char yearindex[MAXLEN]; + char yeardir[MAXLEN]; +- char yearnum[10]; ++ char yearnum[15]; + int yearsort[150]; + int nyears; + int year; diff --git a/net-analyzer/sarg/metadata.xml b/net-analyzer/sarg/metadata.xml new file mode 100644 index 000000000000..51b5948436b2 --- /dev/null +++ b/net-analyzer/sarg/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription>Squid Analysis Report Generator is a tool that allow you to view where your users are going to on the Internet. Sarg provides many informations about Squid users activities: times, bytes, sites, etc...</longdescription> + <use> + <flag name="doublecheck">Make sarg double check the data it manipulates and output a warning if an error is found</flag> + <flag name="gd">Enable support for graphs in reports through <pkg>media-libs/gd</pkg> + </flag> + <flag name="glob">Disable to ignore wildcards in file names</flag> + <flag name="pcre">Enable support for regular expressions in the hostalias file through <pkg>dev-libs/libpcre</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sarg/sarg-2.4.0-r1.ebuild b/net-analyzer/sarg/sarg-2.4.0-r1.ebuild new file mode 100644 index 000000000000..62999c969ca2 --- /dev/null +++ b/net-analyzer/sarg/sarg-2.4.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools flag-o-matic + +DESCRIPTION="Squid Analysis Report Generator" +HOMEPAGE="https://sourceforge.net/projects/sarg/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/-}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="amd64 ppc x86" +SLOT="0" +IUSE="bzip2 doublecheck +gd +glob ldap lzma pcre zlib" + +RDEPEND=" + bzip2? ( app-arch/bzip2 ) + gd? ( media-libs/gd[png,truetype] ) + ldap? ( net-nds/openldap:= ) + lzma? ( app-arch/xz-utils ) + pcre? ( dev-libs/libpcre ) + zlib? ( virtual/zlib:= ) +" +DEPEND=" + ${RDEPEND} +" +DOCS=( BETA-TESTERS CONTRIBUTORS DONATIONS README ChangeLog htaccess ) +PATCHES=( + "${FILESDIR}"/${PN}-2.4.0-config.patch + "${FILESDIR}"/${PN}-2.4.0-configure.patch + "${FILESDIR}"/${PN}-2.4.0-fabs.patch + "${FILESDIR}"/${PN}-2.4.0-format.patch +) +S=${WORKDIR}/${P/_/-} + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + append-cflags -fcommon + econf \ + $(use_enable doublecheck) \ + $(use_with bzip2 bzlib) \ + $(use_with gd) \ + $(use_with glob) \ + $(use_with ldap) \ + $(use_with lzma liblzma) \ + $(use_with pcre) \ + $(use_with zlib) \ + --sysconfdir="${EPREFIX}/etc/sarg/" +} + +src_install() { + default + + dodoc documentation/* +} diff --git a/net-analyzer/sbd/Manifest b/net-analyzer/sbd/Manifest new file mode 100644 index 000000000000..06c30b3fe73d --- /dev/null +++ b/net-analyzer/sbd/Manifest @@ -0,0 +1 @@ +DIST sbd-1.37.tar.gz 83991 BLAKE2B 7dd0f1e3c428e9eed24ca513c99a242ec5bf2a147416b2a979335ff9c55b6d68ca8769ccd00e11637e0411c9537895fd2523a3f237be704d4540db5b4d12bbc9 SHA512 845f3eb20d3a6006f7afc9b60eecaa3049172b3fb2796058f18a13ddbfb7f2c9914bef45bd4f3557db814783717eae24fe13d46d22c65359ba3f816c6d52ea7c diff --git a/net-analyzer/sbd/metadata.xml b/net-analyzer/sbd/metadata.xml new file mode 100644 index 000000000000..fa461b86646b --- /dev/null +++ b/net-analyzer/sbd/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> +sbd is a Netcat-clone, designed to be portable and offer strong encryption. It +features AES-CBC-128 + HMAC-SHA1 encryption (by Christophe Devine), program +execution (-e option), choosing source port, continuous reconnection with delay, +and some other nice features. Only TCP/IP communication is supported. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sbd/sbd-1.37-r1.ebuild b/net-analyzer/sbd/sbd-1.37-r1.ebuild new file mode 100644 index 000000000000..6b87335cd5a6 --- /dev/null +++ b/net-analyzer/sbd/sbd-1.37-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Netcat-clone, designed to be portable and offer strong encryption" +HOMEPAGE="http://tigerteam.se/dl/sbd/" +SRC_URI="http://tigerteam.se/dl/sbd/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~x86" + +src_prepare() { + default + sed -i \ + -e '/ -o /{ s| $(UNIX_LDFLAGS) $(LDFLAGS)||g;s|$(CFLAGS)|& $(LDFLAGS)|g }' \ + Makefile || die +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + unix +} + +src_install() { + dobin sbd + dodoc CHANGES README +} diff --git a/net-analyzer/scanlogd/Manifest b/net-analyzer/scanlogd/Manifest new file mode 100644 index 000000000000..510460b61e21 --- /dev/null +++ b/net-analyzer/scanlogd/Manifest @@ -0,0 +1,2 @@ +DIST scanlogd-2.2.8.tar.gz 12190 BLAKE2B 26396c3174de3d3cceed9833354cae7d7bbcf3078a81472ae1fa28856f011e6984fa8182a994d5a10632c19f15f86e31f1ee73309273cad04e05fec942afa0a4 SHA512 92f7a28dd40593dad6afae4fd0572efeceea3f43f334ff82c349538d4a28e9ab624912f82fc5c102a4a9937009bbf7b76a81029588e2815ff9b305144143572a +DIST scanlogd-2.2.8.tar.gz.sig 801 BLAKE2B d14643b84c26aaf23662db804ce29eef76077beda37bd54ebff857c939b8768e1c0a9e4fa8df53a4c8929f3c1d49930544a5f718171a3e9877f29c014333ad20 SHA512 2fc46af5fe7395b10ad275fec0ff943139aa83675fbfbbd61c0a86fd6c9c7fa070110249ab0df04dd167881797d29b3c22fb1ff92f7842106250d506967fa0f7 diff --git a/net-analyzer/scanlogd/files/scanlogd-2.2.7-gentoo.patch b/net-analyzer/scanlogd/files/scanlogd-2.2.7-gentoo.patch new file mode 100644 index 000000000000..4d1d2f01c643 --- /dev/null +++ b/net-analyzer/scanlogd/files/scanlogd-2.2.7-gentoo.patch @@ -0,0 +1,21 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,14 +1,11 @@ +-CC = gcc + LD = $(CC) + RM = rm -f +-CFLAGS = -Wall -O2 -fomit-frame-pointer +-LDFLAGS = -s + +-PCAP_H = -I/usr/include/pcap +-PCAP_L = -lpcap ++PCAP_H = $(shell pcap-config --cflags) ++PCAP_L = $(shell pcap-config --libs) + +-NIDS_H = -I/usr/local/include +-NIDS_L = -L/usr/local/lib -lnids -lnet -lpcap ++NIDS_H = -I/usr/include ++NIDS_L = -lnids + + PROJ = scanlogd + diff --git a/net-analyzer/scanlogd/files/scanlogd.rc b/net-analyzer/scanlogd/files/scanlogd.rc new file mode 100644 index 000000000000..ef600deb94f5 --- /dev/null +++ b/net-analyzer/scanlogd/files/scanlogd.rc @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + use logger +} + +start() { + ebegin "Starting scanlogd" + start-stop-daemon --start --quiet --exec /usr/sbin/scanlogd + eend $? +} + +stop() { + ebegin "Stopping scanlogd" + start-stop-daemon --stop --quiet --exec /usr/sbin/scanlogd + eend $? +} diff --git a/net-analyzer/scanlogd/metadata.xml b/net-analyzer/scanlogd/metadata.xml new file mode 100644 index 000000000000..453ace9f821d --- /dev/null +++ b/net-analyzer/scanlogd/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="nids">Use <pkg>net-libs/libnids</pkg> for packet capturing</flag> + <flag name="pcap">Use <pkg>net-libs/libpcap</pkg> for packet capturing</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/scanlogd/scanlogd-2.2.8-r1.ebuild b/net-analyzer/scanlogd/scanlogd-2.2.8-r1.ebuild new file mode 100644 index 000000000000..8fe2452bec96 --- /dev/null +++ b/net-analyzer/scanlogd/scanlogd-2.2.8-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openwall.asc +inherit savedconfig toolchain-funcs verify-sig + +DESCRIPTION="A port scan detection tool" +HOMEPAGE="https://www.openwall.com/scanlogd/" +SRC_URI=" + https://www.openwall.com/scanlogd/${P}.tar.gz + verify-sig? ( https://www.openwall.com/scanlogd/${P}.tar.gz.sign -> ${P}.tar.gz.sig ) +" + +LICENSE="scanlogd GPL-2" # GPL-2 for initscript +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="+nids pcap" +REQUIRED_USE="?? ( nids pcap )" + +DEPEND=" + nids? ( net-libs/libnids ) + pcap? ( net-libs/libpcap ) +" +RDEPEND=" + ${DEPEND} + acct-group/scanlogd + acct-user/scanlogd +" +BDEPEND="sec-keys/openpgp-keys-openwall" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2.7-gentoo.patch +) + +src_prepare() { + default + + restore_config params.h + + tc-export CC +} + +src_compile() { + local target=linux + + use nids && target=libnids + use pcap && target=libpcap + emake ${target} +} + +src_install() { + dosbin scanlogd + + doman scanlogd.8 + newinitd "${FILESDIR}"/scanlogd.rc scanlogd + + save_config params.h +} diff --git a/net-analyzer/scanssh/Manifest b/net-analyzer/scanssh/Manifest new file mode 100644 index 000000000000..c8ef4f3a55c8 --- /dev/null +++ b/net-analyzer/scanssh/Manifest @@ -0,0 +1,2 @@ +DIST scanssh-2.1.3.1.tar.gz 147954 BLAKE2B a263eda2d49159e715bb8d2190fc78f8e41d5f3a56e0bf67b70ed716eb787c09cff0ea9e759b5aa62096f75de01d2d5b5980aa66a7c5b14635d835fd3b7c6f07 SHA512 970cbb03aa44fcef62aa03132335e6ecedb083cee98a360b3d781efc8c2d3c169f70c17837b1faaf9ceaa2691a7c619174a9bb185146af50188eaceda5d14adb +DIST scanssh-2.1.3.1_p20260130.gh.tar.gz 148075 BLAKE2B e312903bc49cdfecb3983d0d68835f25d8479c0e850b7fb0a3f5960823cc9ffb31e9fdc730ae6baee1054e9906beb09a724825a2c3ada8a2d637137d221f5271 SHA512 30366abb057f71639e3cbc9f762c24d74d36e21f4941fc6a23c2cabf4513786c962a8a3cb96f4a66e0e2e699a3454342902f5eafa6f9e420a75ce6349ee75de1 diff --git a/net-analyzer/scanssh/files/scanssh-2.0-fix-warnings.diff b/net-analyzer/scanssh/files/scanssh-2.0-fix-warnings.diff new file mode 100644 index 000000000000..0ced6821efa9 --- /dev/null +++ b/net-analyzer/scanssh/files/scanssh-2.0-fix-warnings.diff @@ -0,0 +1,61 @@ +--- a/arc4random.c ++++ b/arc4random.c +@@ -1,5 +1,6 @@ + #include <sys/types.h> + #include <stdlib.h> ++#include <time.h> + + #include "config.h" + +--- a/interface.c ++++ b/interface.c +@@ -56,6 +56,13 @@ + + #include "interface.h" + ++#ifndef HAVE_STRLCPY ++ size_t strlcpy(char *, const char *, size_t); ++#endif ++#ifndef HAVE_STRLCAT ++ size_t strlcat(char *, const char *, size_t); ++#endif ++ + /* Prototypes */ + static int pcap_dloff(pcap_t *); + +--- a/md5.c ++++ b/md5.c +@@ -23,6 +23,7 @@ + copyright in any changes I have made; this code remains in the + public domain. */ + ++#include <string.h> + #include <sys/types.h> + + #ifdef HAVE_CONFIG_H +--- a/scanssh.c ++++ b/scanssh.c +@@ -78,6 +78,10 @@ + #define DNFPRINTF(y, x) + #endif + ++#ifndef HAVE_STRLCPY ++ size_t strlcpy(char *, const char *, size_t); ++#endif ++ + struct address_node { + TAILQ_ENTRY (address_node) an_next; + +--- a/xmalloc.c ++++ b/xmalloc.c +@@ -20,6 +20,10 @@ + + #include "config.h" + ++#ifndef HAVE_STRLCPY ++ size_t strlcpy(char *, const char *, size_t); ++#endif ++ + void * + xmalloc(size_t size) + { diff --git a/net-analyzer/scanssh/files/scanssh-2.1.3-libdir.diff b/net-analyzer/scanssh/files/scanssh-2.1.3-libdir.diff new file mode 100644 index 000000000000..c34159b3fca7 --- /dev/null +++ b/net-analyzer/scanssh/files/scanssh-2.1.3-libdir.diff @@ -0,0 +1,191 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -20,8 +20,8 @@ AC_PROG_CC + AC_PROG_INSTALL + + dnl XXX - Solaris sux. +-AC_CHECK_LIB(socket, socket) +-AC_CHECK_LIB(nsl, gethostbyname) ++AC_SEARCH_LIBS(socket, socket) ++AC_SEARCH_LIBS(gethostbyname, nsl) + + dnl XXX - we need WinPcap developer's pack under Cygwin for win32 + +@@ -33,11 +33,11 @@ case $host_os in + if test -d /usr/include/mingw ; then + CPPFLAGS="$CPPFLAGS -mno-cygwin" + CFLAGS="$CFLAGS -mno-cygwin" +- AC_DEFINE(WIN32_LEAN_AND_MEAN, 1, ++ AC_DEFINE(WIN32_LEAN_AND_MEAN, 1, + [Define for faster code generation.]) + AC_CHECK_LIB(ws2_32, main) + AC_CHECK_LIB(iphlpapi, main) +- AC_DEFINE(snprintf, _snprintf, ++ AC_DEFINE(snprintf, _snprintf, + [Use MingW32's internal snprintf]) + else + AC_MSG_ERROR([need MingW32 package to build under Cygwin]) +@@ -84,92 +84,9 @@ if test $neederr = yes; then + AC_LIBOBJ(err) + fi + +-dnl Checks for libpcap +-AC_MSG_CHECKING(for libpcap) +-AC_ARG_WITH(libpcap, +-[ --with-libpcap=DIR use libpcap build directory], +-[ case "$withval" in +- yes|no) +- AC_MSG_RESULT(no) +- ;; +- *) +- AC_MSG_RESULT($withval) +- if test -f $withval/pcap.h -a -f $withval/libpcap.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- PCAPINC="-I$withval -I$withval/bpf" +- PCAPLIB="-L$withval -lpcap" +- else +- AC_MSG_ERROR(pcap.h or libpcap.a not found in $withval) +- fi +- ;; +- esac ], +-[ if test -f ${prefix}/include/pcap.h; then +- PCAPINC="-I${prefix}/include" +- PCAPLIB="-L${prefix}/lib -lpcap" +- elif test -f /usr/include/pcap/pcap.h; then +- PCAPINC="-I/usr/include/pcap" +- PCAPLIB="-lpcap" +- elif test -f /usr/include/pcap.h; then +- PCAPLIB="-lpcap" +- else +- AC_MSG_RESULT(no) +- AC_MSG_ERROR(libpcap not found) +- fi +- AC_MSG_RESULT(yes) ] +-) + AC_SUBST(PCAPINC) + AC_SUBST(PCAPLIB) + +-dnl Checks for (installed) libdnet +-AC_ARG_WITH(libdnet, +-[ --with-libdnet=DIR use libdnet in DIR], +-[ case "$withval" in +- yes|no) +- AC_MSG_ERROR(Please specify directory containing dnet-config when using --with-libdnet) +- ;; +- *) +- AC_MSG_CHECKING(for libdnet) +- AC_MSG_RESULT($withval) +- if test -f $withval/src/libdnet.a; then +- DNETINC="-I$withval/include" +- DNETLIB="-L$withval/src -ldnet `$withval/dnet-config --libs`" +- elif test -x $withval/bin/dnet-config; then +- DNETINC="`$withval/bin/dnet-config --cflags`" +- DNETLIB="`$withval/bin/dnet-config --libs`" +- else +- AC_MSG_RESULT(no) +- AC_MSG_ERROR(dnet-config not found in $withval/bin) +- fi +- ;; +- esac +- AC_MSG_RESULT(yes) ], +-[ dnl This is the default case so let's just use AC_PATH_PROG! --CPK. +- AC_PATH_PROG(dnetconfig, dnet-config, "no") +- if test "$dnetconfig" = "no"; then +- AC_MSG_ERROR(dnet-config not found) +- else +- DNETINC="`$dnetconfig --cflags`" +- DNETLIB="`$dnetconfig --libs`" +- fi] +-) +- +-dnl We still need to check whether it's dnet or dumbnet as +-dnl for example on Debian. We test by looking at the content +-dnl of DNETLIB and derive from the library name what version +-dnl we're dealing with. If we find a libdumbnet, we prefix +-dnl compat/libdnet to our inclusion path. It provides a dnet.h +-dnl that transparently includes dumbnet.h for those systems. --CPK. +-AC_MSG_CHECKING([whether libdnet is a libdumbnet]) +-if test `echo $DNETLIB | sed -e '/dumb/=;d'`; then +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_DUMBNET, 1, +- [Define if our libdnet is a libdumbnet]) +- DNETCOMPAT="compat/libdnet" +-else +- AC_MSG_RESULT(no) +-fi +- + AC_SUBST(DNETCOMPAT) + AC_SUBST(DNETINC) + AC_SUBST(DNETLIB) +@@ -180,50 +97,16 @@ then + else + CFLAGS="-I$DNETCOMPAT $DNETINC" + fi ++save_LIBS=$LIBS + LIBS=$DNETLIB + +-dnl Checks for libevent +-AC_MSG_CHECKING(for libevent) +-AC_ARG_WITH(libevent, +-[ --with-libevent=DIR use libevent build directory], +-[ case "$withval" in +- yes|no) +- AC_MSG_RESULT(no) +- ;; +- *) +- AC_MSG_RESULT($withval) +- if test -f $withval/event.h -a -f $withval/libevent.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- EVENTINC="-I$withval" +- EVENTLIB="-L$withval -levent" +- else +- AC_MSG_ERROR(event.h or libevent.a not found in $withval) +- fi +- ;; +- esac ], +-[ if test -f ${prefix}/include/event.h; then +- EVENTINC="-I${prefix}/include" +- EVENTLIB="-L${prefix}/lib -levent" +- elif test -f /usr/include/event/event.h; then +- EVENTINC="-I/usr/include/event" +- EVENTLIB="-levent" +- elif test -f /usr/include/event.h; then +- EVENTLIB="-levent" +- else +- AC_MSG_RESULT(no) +- AC_MSG_ERROR(libevent not found) +- fi +- AC_MSG_RESULT(yes) ] +-) + AC_SUBST(EVENTINC) + AC_SUBST(EVENTLIB) + + CFLAGS=$EVENTINC + LIBS=$EVENTLIB + +-CFLAGS="" +-LIBS="" ++LIBS=$save_LIBS + + AC_HEADER_SYS_WAIT + AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h) +@@ -271,7 +154,7 @@ AC_EGREP_CPP(yes, + #ifdef BSD4_4 + yes + #endif +-], ++], + AC_EGREP_CPP(yes, + [#include <sys/param.h> + #ifdef OpenBSD +@@ -285,7 +168,7 @@ AC_EGREP_CPP(yes, + ), + AC_MSG_RESULT([good byte order]) + ) +- ++ + AC_MSG_CHECKING([for sin_len in struct sockaddr_in]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <sys/types.h> diff --git a/net-analyzer/scanssh/metadata.xml b/net-analyzer/scanssh/metadata.xml new file mode 100644 index 000000000000..eb153b4de5cb --- /dev/null +++ b/net-analyzer/scanssh/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription>Scanssh protocol scanner - scans a list of addresses an networks for running SSH protocol servers and their version numbers.</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/scanssh/scanssh-2.1.3.1.ebuild b/net-analyzer/scanssh/scanssh-2.1.3.1.ebuild new file mode 100644 index 000000000000..566663202cbb --- /dev/null +++ b/net-analyzer/scanssh/scanssh-2.1.3.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="network scanner that gathers info on SSH protocols and versions" +HOMEPAGE="https://github.com/ofalk/scanssh/" +SRC_URI="https://github.com/ofalk/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~ppc64 ~riscv ~sparc x86" + +DEPEND=" + dev-libs/libdnet + dev-libs/libevent:= + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0-fix-warnings.diff + "${FILESDIR}"/${PN}-2.1.3-libdir.diff +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + DNETINC='' \ + DNETLIB=-ldnet \ + EVENTINC='' \ + EVENTLIB=-levent \ + PCAPINC='' \ + PCAPLIB=-lpcap +} + +src_compile() { + emake CFLAGS="${CFLAGS}" +} + +src_install() { + dobin scanssh + doman scanssh.1 +} diff --git a/net-analyzer/scanssh/scanssh-2.1.3.1_p20260130.ebuild b/net-analyzer/scanssh/scanssh-2.1.3.1_p20260130.ebuild new file mode 100644 index 000000000000..3f592ea278bd --- /dev/null +++ b/net-analyzer/scanssh/scanssh-2.1.3.1_p20260130.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="network scanner that gathers info on SSH protocols and versions" +HOMEPAGE="https://github.com/ofalk/scanssh/" +HASH="14a7b8faa7a876b132fa8e8d1d092b429604038e" +SRC_URI="https://github.com/ofalk/scanssh/archive/${HASH}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${PN}-${HASH}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ~ppc64 ~riscv ~sparc x86" + +DEPEND=" + dev-libs/libdnet + dev-libs/libevent:= + net-libs/libpcap +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.3-libdir.diff +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + DNETINC='' \ + DNETLIB=-ldnet \ + EVENTINC='' \ + EVENTLIB=-levent \ + PCAPINC='' \ + PCAPLIB=-lpcap +} + +src_compile() { + emake CFLAGS="${CFLAGS}" +} + +src_install() { + dobin scanssh + doman scanssh.1 +} diff --git a/net-analyzer/scapy/Manifest b/net-analyzer/scapy/Manifest new file mode 100644 index 000000000000..e588041439d2 --- /dev/null +++ b/net-analyzer/scapy/Manifest @@ -0,0 +1 @@ +DIST scapy-2.6.1.tar.gz 7048560 BLAKE2B 5c930c3aa2d0a4d545cf64f10abd3aa962755e3fb712ea1613c4f49b159202a55e5ffadc527d429118958bad6e93f9626084d3ee974caaa6cb1733f05080d3f2 SHA512 4ab02f5b9dfcf329ee4f4837655066227b1e162e695d6cbe84ada4e2ff44589462a9843b0f16699ec974dcf6e0a81af3c5b088ceac48a679e9591f4cec0eedc8 diff --git a/net-analyzer/scapy/files/scapy-2.6.1-missing-autorun-test-marker.patch b/net-analyzer/scapy/files/scapy-2.6.1-missing-autorun-test-marker.patch new file mode 100644 index 000000000000..76108598d758 --- /dev/null +++ b/net-analyzer/scapy/files/scapy-2.6.1-missing-autorun-test-marker.patch @@ -0,0 +1,10 @@ +--- a/test/regression.uts ++++ b/test/regression.uts +@@ -1139,6 +1139,7 @@ ret = autorun_get_text_interactive_session("scapy_undefined") + assert "NameError" in ret[0] + + = Test autorun with logging ++~ autorun + + cmds = """log_runtime.info(hex_bytes("446166742050756e6b"))\n""" + ret = autorun_get_text_interactive_session(cmds) diff --git a/net-analyzer/scapy/files/scapy-2.6.1-skip-test.patch b/net-analyzer/scapy/files/scapy-2.6.1-skip-test.patch new file mode 100644 index 000000000000..bf71e22cdde9 --- /dev/null +++ b/net-analyzer/scapy/files/scapy-2.6.1-skip-test.patch @@ -0,0 +1,20 @@ +Fails in network-sandbox (probably because of the namespace + fake interface +Portage makes). +--- a/test/regression.uts ++++ b/test/regression.uts +@@ -470,6 +470,7 @@ conf.ifaces.providers = _bkp_providers + conf.ifaces.reload() + + = Test read_routes6() - default output ++~ netaccess + + routes6 = read_routes6() + if WINDOWS: +@@ -519,6 +520,7 @@ pkt.build() + + + = Test read_routes6() - check mandatory routes ++~ netaccess + + import re + ll_route = re.compile(r"fe80:\d{0,2}:") diff --git a/net-analyzer/scapy/metadata.xml b/net-analyzer/scapy/metadata.xml new file mode 100644 index 000000000000..76b4b550dbc6 --- /dev/null +++ b/net-analyzer/scapy/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:scapy:scapy</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/scapy/scapy-2.6.1.ebuild b/net-analyzer/scapy/scapy-2.6.1.ebuild new file mode 100644 index 000000000000..8b697296a83b --- /dev/null +++ b/net-analyzer/scapy/scapy-2.6.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 readme.gentoo-r1 + +DESCRIPTION="A Python interactive packet manipulation program for mastering the network" +HOMEPAGE="https://scapy.net/ https://github.com/secdev/scapy" +SRC_URI="https://github.com/secdev/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + app-arch/brotli[python,${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + net-libs/libpcap + ) +" + +DOC_CONTENTS=" +Scapy has optional support for the following packages: + + dev-python/cryptography + dev-python/ipython + dev-python/matplotlib + dev-python/pyx + media-gfx/graphviz + net-analyzer/tcpdump + net-analyzer/tcpreplay + net-libs/libpcap + virtual/imagemagick-tools + + See also ""${EPREFIX}/usr/share/doc/${PF}/installation.rst"" +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.1-skip-test.patch + "${FILESDIR}"/${PN}-2.6.1-missing-autorun-test-marker.patch +) + +src_prepare() { + export SCAPY_VERSION=${PV} + + # Timed out + rm test/tftp.uts || die + # Needs ipython + rm test/scapy/layers/dhcp.uts || die + # Import failures + rm test/contrib/isotp_native_socket.uts \ + test/contrib/isotpscan.uts \ + test/contrib/isotp_soft_socket.uts || die + + distutils-r1_src_prepare +} + +python_test() { + # https://scapy.readthedocs.io/en/latest/development.html#testing-with-utscapy + # https://github.com/secdev/scapy/blob/master/tox.ini + # + # netaccess: network access, obviously + # tshark, tcpdump: hangs + # samba: needs rpcdump (and too heavy of a test dep) + # interact, autorun: tests fail + "${EPYTHON}" -m scapy.tools.UTscapy -c ./test/configs/linux.utsc -N \ + -K netaccess \ + -K tshark \ + -K tcpdump \ + -K samba \ + -K interact \ + -K autorun \ + -K ci_only || die "Tests failed with ${EPYTHON}" +} + +src_install() { + distutils-r1_src_install + + dodoc -r doc/${PN}/* + DISABLE_AUTOFORMATTING=1 readme.gentoo_create_doc +} diff --git a/net-analyzer/sec/Manifest b/net-analyzer/sec/Manifest new file mode 100644 index 000000000000..0c73853f517b --- /dev/null +++ b/net-analyzer/sec/Manifest @@ -0,0 +1,2 @@ +DIST sec-2.9.3.tar.gz 153606 BLAKE2B 25a6dbade8b2442450fc7d7d03364b1a0554903906c614b74295ad7f5420a95f5e92b17f127e20112b9f7797f3d1bdcffbac3c62306398fbc9f4d4dab5f45701 SHA512 7facf3f5d80ec5466e1e35cc1ab186bbac092bb011816a72e8be6c60eadffca75c5765a914e8700eacf90d7f8c46088bdb17213a7c670c4ca5b852ce30fbdf26 +DIST sec-2.9.4.tar.gz 155430 BLAKE2B fe58c6706e7c80f461200a100384dec900cb3ba42174a8e9d39be4c518653c6f33f40af7c224257bf02d44d644bc997249f244861638f9028b4e3bf8caa90abf SHA512 e049ea61e52420faddc2ad3373d9ec65cc6187d59e89537d919eb0342688e494c3d9db334347dbaf9a42260930c99756d46ed3f9f015a38bd95f6959ded047d9 diff --git a/net-analyzer/sec/files/sec.conf.d b/net-analyzer/sec/files/sec.conf.d new file mode 100644 index 000000000000..a6d8b9c1fddc --- /dev/null +++ b/net-analyzer/sec/files/sec.conf.d @@ -0,0 +1,12 @@ +# configuration file for /etc/init.d/sec + +# flags to pass to sec (see 'sec --help') +SEC_FLAGS="" + +# Define a debug level (1..6) +DEBUG_LEVEL="4" + +# define where sec reads messages from for translating them +#INPUT_FILES="${INPUT_FILES} -input=/var/log/some.log" +#INPUT_FILES="${INPUT_FILES} -input=/tmp/other.file" +INPUT_FILES="-input=/var/log/messages" diff --git a/net-analyzer/sec/files/sec.init.d b/net-analyzer/sec/files/sec.init.d new file mode 100644 index 000000000000..252b23242648 --- /dev/null +++ b/net-analyzer/sec/files/sec.init.d @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use logger +} + +checkconfig() { + if [ ! -e /etc/sec.conf ] ; then + eerror "You need an /etc/sec.conf config file to run sec" + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + ebegin "Starting sec" + start-stop-daemon --start --quiet --interpreted --exec /usr/bin/sec -- \ + -pid=/run/sec.pid \ + -detach -log=/var/log/sec.log \ + -conf=/etc/sec.conf \ + ${INPUT_FILES} \ + -debug=${DEBUG_LEVEL} \ + ${SEC_FLAGS} > /dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping sec" + start-stop-daemon --stop --quiet --pidfile /run/sec.pid + eend $? +} + diff --git a/net-analyzer/sec/metadata.xml b/net-analyzer/sec/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/sec/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sec/sec-2.9.3.ebuild b/net-analyzer/sec/sec-2.9.3.ebuild new file mode 100644 index 000000000000..863ac1c4bc31 --- /dev/null +++ b/net-analyzer/sec/sec-2.9.3.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Simple Event Correlator" +HOMEPAGE="https://simple-evcorr.github.io/ https://github.com/simple-evcorr/sec" +SRC_URI="https://github.com/simple-evcorr/sec/releases/download/${PV}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +RDEPEND=" + >=dev-lang/perl-5.8.0 + virtual/perl-JSON-PP +" + +src_install() { + dobin sec + + dodoc ChangeLog README + docinto contrib + dodoc contrib/{itostream.c,convert.pl,swatch2sec.pl} + + newman sec.man sec.1 + + newinitd "${FILESDIR}"/sec.init.d sec + newconfd "${FILESDIR}"/sec.conf.d sec +} diff --git a/net-analyzer/sec/sec-2.9.4.ebuild b/net-analyzer/sec/sec-2.9.4.ebuild new file mode 100644 index 000000000000..dac890bce9e2 --- /dev/null +++ b/net-analyzer/sec/sec-2.9.4.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Simple Event Correlator" +HOMEPAGE="https://simple-evcorr.github.io/ https://github.com/simple-evcorr/sec" +SRC_URI="https://github.com/simple-evcorr/sec/releases/download/${PV}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +RDEPEND=" + >=dev-lang/perl-5.8.0 +" + +src_install() { + dobin sec + + dodoc ChangeLog README + docinto contrib + dodoc contrib/{itostream.c,convert.pl,swatch2sec.pl} + + newman sec.man sec.1 + + newinitd "${FILESDIR}"/sec.init.d sec + newconfd "${FILESDIR}"/sec.conf.d sec +} diff --git a/net-analyzer/sflowtool/Manifest b/net-analyzer/sflowtool/Manifest new file mode 100644 index 000000000000..30d754909b1e --- /dev/null +++ b/net-analyzer/sflowtool/Manifest @@ -0,0 +1 @@ +DIST sflowtool-6.06.tar.gz 82125 BLAKE2B c817742f196fc90f273c3fba53475a2e345d24e116ace4015adfb2d06e7737a04db307c53c25241df4d4ac4a4f5bb5fcf652429142e6d628edae6125352270ee SHA512 68acfc5da9ee52b95c59d40986d267546f69e6d286c3a3cf35967d89cd970c2e8f8d32d6eb3f985a6bb48bd695ebed3f42559dcdc993b4fa8d3b904f6f9d756a diff --git a/net-analyzer/sflowtool/metadata.xml b/net-analyzer/sflowtool/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/sflowtool/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sflowtool/sflowtool-6.06.ebuild b/net-analyzer/sflowtool/sflowtool-6.06.ebuild new file mode 100644 index 000000000000..4d35722f857f --- /dev/null +++ b/net-analyzer/sflowtool/sflowtool-6.06.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Utility for collecting and processing sFlow data" +HOMEPAGE=" + https://inmon.com/technology/sflowTools.php + https://github.com/sflow/sflowtool +" +SRC_URI="https://github.com/sflow/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="inmon-sflow" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="debug" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cppflags -DSPOOFSOURCE + use debug && append-cppflags -DDEBUG + + default +} + +src_install() { + default + dobin scripts/sflowenable +} diff --git a/net-analyzer/shodan/Manifest b/net-analyzer/shodan/Manifest new file mode 100644 index 000000000000..f7f2df0ae10b --- /dev/null +++ b/net-analyzer/shodan/Manifest @@ -0,0 +1 @@ +DIST shodan-1.31.0.tar.gz 57939 BLAKE2B 7d22e8ec9e32669494838ddef76115ce80ba4600ca71e5c7e9e6c91d82bbf2a55e5e754d7fd4018545c9dbba01fd21bd9fd444d4f2090938f09c7b1610b98100 SHA512 fe66fdd4ae1088d165a2acd67f85a54a9fcbed8130ee5e2a5764d318fa0c50fb472fd5a76ce72f84fcfdb4c74c29ae2e14881f86468fb177ddc3191cb95d3b67 diff --git a/net-analyzer/shodan/metadata.xml b/net-analyzer/shodan/metadata.xml new file mode 100644 index 000000000000..e2963e524a3d --- /dev/null +++ b/net-analyzer/shodan/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>mario.haustein@hrz.tu-chemnitz.de</email> + <name>Mario Haustein</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + Shodan is a search engine for Internet-connected devices. Google lets + you search for websites, Shodan lets you search for devices. This + library provides developers easy access to all of the data stored in + Shodan in order to automate tasks and integrate into existing tools. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/shodan/shodan-1.31.0.ebuild b/net-analyzer/shodan/shodan-1.31.0.ebuild new file mode 100644 index 000000000000..b2a6a19cfcf6 --- /dev/null +++ b/net-analyzer/shodan/shodan-1.31.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 + +DESCRIPTION="The official Python library for Shodan" +HOMEPAGE="https://github.com/achillean/shodan-python" + +MY_PN="${PN}-python" + +if [[ ${PV} = "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/achillean/shodan-python.git" +else + inherit pypi + KEYWORDS="amd64 ~loong x86" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-plugins[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + >=dev-python/requests-2.2.1[${PYTHON_USEDEP}] + dev-python/tldextract[${PYTHON_USEDEP}] + dev-python/xlsxwriter[${PYTHON_USEDEP}] +" + +# Test requires API key +RESTRICT="test" diff --git a/net-analyzer/shodan/shodan-9999.ebuild b/net-analyzer/shodan/shodan-9999.ebuild new file mode 100644 index 000000000000..7e2dee6bee87 --- /dev/null +++ b/net-analyzer/shodan/shodan-9999.ebuild @@ -0,0 +1,36 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 + +DESCRIPTION="The official Python library for Shodan" +HOMEPAGE="https://github.com/achillean/shodan-python" + +MY_PN="${PN}-python" + +if [[ ${PV} = "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/achillean/shodan-python.git" +else + inherit pypi + KEYWORDS="~amd64 ~loong ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-plugins[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + >=dev-python/requests-2.2.1[${PYTHON_USEDEP}] + dev-python/tldextract[${PYTHON_USEDEP}] + dev-python/xlsxwriter[${PYTHON_USEDEP}] +" + +# Test requires API key +RESTRICT="test" diff --git a/net-analyzer/slurm/Manifest b/net-analyzer/slurm/Manifest new file mode 100644 index 000000000000..2f14f31cb87d --- /dev/null +++ b/net-analyzer/slurm/Manifest @@ -0,0 +1 @@ +DIST slurm-0.4.4.tar.gz 76154 BLAKE2B 4f5fa23f42dce3a5eca2a82b82b55cc81e564843a943c572b33c2c07b752e985f52516795c4331ba80137a76ababc8e61a8f7fbf183a032551f3aa2a95ba61d8 SHA512 5a54d004e18a27ead40140f0b5d1bf4db773d2d12a1d8358993944e0a51db8598353e330e114851b90125f09fd8d5ebfb50d2be362e85ad50e7c39ce6aa6bcc1 diff --git a/net-analyzer/slurm/metadata.xml b/net-analyzer/slurm/metadata.xml new file mode 100644 index 000000000000..ec0bef05784c --- /dev/null +++ b/net-analyzer/slurm/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Generic network load monitor for *BSD, Linux, HP-UX and Solaris witgh the next features: + * "realtime" traffic statistics + * three graph modes: combined RX and TX and two split views + * can monitor any network device + * curses ascii graphics + * ascii theme support + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/slurm/slurm-0.4.4.ebuild b/net-analyzer/slurm/slurm-0.4.4.ebuild new file mode 100644 index 000000000000..8d871880002d --- /dev/null +++ b/net-analyzer/slurm/slurm-0.4.4.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Realtime network interface monitor based on FreeBSD's pppstatus" +HOMEPAGE="https://github.com/mattthias/slurm" +SRC_URI="https://github.com/mattthias/slurm/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-upstream-${PV}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND}" + +DOCS=( ChangeLog FAQ KEYS README.md THEMES.txt TODO ) diff --git a/net-analyzer/snallygaster/Manifest b/net-analyzer/snallygaster/Manifest new file mode 100644 index 000000000000..2514df31dfbf --- /dev/null +++ b/net-analyzer/snallygaster/Manifest @@ -0,0 +1,2 @@ +DIST snallygaster-0.0.14.tar.gz 15621 BLAKE2B 2b38e54ceb8e8519c608b4d9ab2f5fd3123e88ec227438d7ea19baf08c0de53f063615720319dea3ae1165ae901c6e449ec3c679fdbc0d0b8bbe3edd7b7cf2aa SHA512 8ab10bceb36634053a7991624955ba39e76dbbfa291c80be1734fd1ea1c6e10ede301f25a1c8e0cd115bf43f30451461873afaa9e30fcec70b0651a0b2dadf70 +DIST snallygaster-0.0.15.tar.gz 23681 BLAKE2B f639d91c38a8dab771666d1d1502d0da39eae2f726adf084c0d05a13b3c59df71bedad2fff865d29b942cc626935beca9a8ead399b07809f145e1ec89ea6f172 SHA512 a5b1825415298bfdfa2d94f1bf27d42f2bfae5d12ed5def9c65ec309e1402b7dd48846539f916874cbdb9e853dd7b156c9ea54ab94dac6fa4aa9c74a7b1b80d3 diff --git a/net-analyzer/snallygaster/metadata.xml b/net-analyzer/snallygaster/metadata.xml new file mode 100644 index 000000000000..c6eb48b47eb8 --- /dev/null +++ b/net-analyzer/snallygaster/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>hanno@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/snallygaster/snallygaster-0.0.14.ebuild b/net-analyzer/snallygaster/snallygaster-0.0.14.ebuild new file mode 100644 index 000000000000..11dde91d798a --- /dev/null +++ b/net-analyzer/snallygaster/snallygaster-0.0.14.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 pypi + +DESCRIPTION="Finds file leaks and other security problems on HTTP servers" +HOMEPAGE="https://github.com/hannob/snallygaster" + +LICENSE="0BSD" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="dev-python/dnspython + dev-python/urllib3 + dev-python/lxml" +RDEPEND="${DEPEND}" +# doc TESTS.md missing in 0.0.14 tarball, will be re-added in next version +DOCS=( README.md ) + +# Only codingstyle and similar tests, require dependencies +# not packaged in Gentoo +RESTRICT="test" diff --git a/net-analyzer/snallygaster/snallygaster-0.0.15.ebuild b/net-analyzer/snallygaster/snallygaster-0.0.15.ebuild new file mode 100644 index 000000000000..9688899297df --- /dev/null +++ b/net-analyzer/snallygaster/snallygaster-0.0.15.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 pypi + +DESCRIPTION="Finds file leaks and other security problems on HTTP servers" +HOMEPAGE="https://github.com/hannob/snallygaster" + +LICENSE="0BSD" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="dev-python/dnspython + dev-python/urllib3 + dev-python/lxml" +RDEPEND="${DEPEND}" +DOCS=( README.md TESTS.md ) + +distutils_enable_tests unittest diff --git a/net-analyzer/sngrep/Manifest b/net-analyzer/sngrep/Manifest new file mode 100644 index 000000000000..eb378dcf4e86 --- /dev/null +++ b/net-analyzer/sngrep/Manifest @@ -0,0 +1 @@ +DIST sngrep-1.8.2.tar.gz 254184 BLAKE2B c13ffc6ff8231e0c1086a65815abb3d9831a3f016d7348da773c69d38a1c4433fdae98b6e810f277e350cad8d48033090ab86c0bd6ff237dd88e9c1b5207ac87 SHA512 0aa630ccd1816e81ed2d16f30275326ea4a91becd053ce5480a9695300e0cf1a97d06b75be248e8915a3e61f94baad0f6e61c2b580a28d291d1b8204388570c4 diff --git a/net-analyzer/sngrep/metadata.xml b/net-analyzer/sngrep/metadata.xml new file mode 100644 index 000000000000..02e842f8e031 --- /dev/null +++ b/net-analyzer/sngrep/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <use> + <flag name="eep">Enable EEP packet send/receive support</flag> + <flag name="gnutls">Use <pkg>net-libs/gnutls</pkg> to parse captured TLS packets</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sngrep/sngrep-1.8.2.ebuild b/net-analyzer/sngrep/sngrep-1.8.2.ebuild new file mode 100644 index 000000000000..37af6f61402c --- /dev/null +++ b/net-analyzer/sngrep/sngrep-1.8.2.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Ncurses SIP Messages flow viewer" +HOMEPAGE="https://github.com/irontec/sngrep" +SRC_URI="https://github.com/irontec/sngrep/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="eep gnutls pcre ssl zlib" + +DEPEND=" + net-libs/libpcap + sys-libs/ncurses:=[unicode(+)] + ssl? ( + !gnutls? ( dev-libs/openssl:= ) + gnutls? ( net-libs/gnutls:= ) + ) + pcre? ( dev-libs/libpcre2 ) + zlib? ( virtual/zlib:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --enable-ipv6 + --enable-unicode + --without-pcre + $(use_enable eep) + $(use_with pcre pcre2) + $(use_with ssl $(usex gnutls gnutls openssl)) + $(use_with zlib) + ) + + econf "${myeconfargs[@]}" +} diff --git a/net-analyzer/sniffit/Manifest b/net-analyzer/sniffit/Manifest new file mode 100644 index 000000000000..605011094631 --- /dev/null +++ b/net-analyzer/sniffit/Manifest @@ -0,0 +1,2 @@ +DIST sniffit-0.5.tar.gz 60074 BLAKE2B 55d2a65da3801cab4e612a8d1a1770c00abfa44555779ee29dc7358d9636e0b2a3f1e291bc64234588089967510bff99f5a9831d8acc01dacb080d7341081372 SHA512 cf6f4a1d396d47e0fa51cb527e8f64cc4f9af5f83121728ce6cbfb6a11509899e52a6c01f0dd20b0d3b92a567991390d9a616151c9496d4f2d764608ef3542bc +DIST sniffit-0.6_p20240924.tar.gz 59838 BLAKE2B 4cb051e6ec3682652c40dff65238887c8bc29211acaf5934295e0d5393de1e7a7ebb0931ac0506eeb160066f427bd4081d7a82c9f993e1d6caddbe30e8bbf0ef SHA512 b6f7138051fbd13446d77eedbd1ba25f0fbfc098bbebbc27afc3218840713b633c6a7dafc6504e7cb77252c364cc5c49855ac788c1211830042efec01daadcb7 diff --git a/net-analyzer/sniffit/files/sniffit-0.4.0-tinfo.patch b/net-analyzer/sniffit/files/sniffit-0.4.0-tinfo.patch new file mode 100644 index 000000000000..85e266fb5d13 --- /dev/null +++ b/net-analyzer/sniffit/files/sniffit-0.4.0-tinfo.patch @@ -0,0 +1,12 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -12,7 +12,8 @@ + AC_PROG_CC + + # Checks for libraries. +-AC_CHECK_LIB(ncurses, main, , [AC_MSG_ERROR([Couldn't find libncurses])]) ++AC_CHECK_LIB(ncurses, initscr, , [AC_MSG_ERROR([Couldn't find libncurses])]) ++AC_SEARCH_LIBS(keypad, tinfo, , [AC_MSG_ERROR([Couldn't find libncurses])]) + AC_CHECK_LIB(pcap, pcap_open_live, , [AC_MSG_ERROR([Couldn't find libpcap])]) + + # Checks for header files. diff --git a/net-analyzer/sniffit/files/sniffit-0.5.0-implicit-func-decl.patch b/net-analyzer/sniffit/files/sniffit-0.5.0-implicit-func-decl.patch new file mode 100644 index 000000000000..e6ee580d6e33 --- /dev/null +++ b/net-analyzer/sniffit/files/sniffit-0.5.0-implicit-func-decl.patch @@ -0,0 +1,50 @@ +https://github.com/resurrecting-open-source-projects/sniffit/pull/3 + +From a05340968343d9f61f57506ed00bff0a62d3f38e Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Thu, 28 Jul 2022 12:14:44 +0100 +Subject: [PATCH] Fix -Wimplicit-function-declaration + +--- a/src/sn_cfgfile.c ++++ b/src/sn_cfgfile.c +@@ -2,6 +2,7 @@ + /* - by : Brecht Claerhout */ + /* - improvements: Shudoh Kazuyuki */ + ++#include <ctype.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +--- a/src/sn_generation.c ++++ b/src/sn_generation.c +@@ -13,7 +13,9 @@ + #include "sn_curses.h" + #include "sn_defines.h" + #include "sn_structs.h" ++#include "sn_packets.h" + #include "sn_generation.h" ++#include "sn_interface.h" + + extern volatile int screen_busy; + +--- a/src/sn_interface.c ++++ b/src/sn_interface.c +@@ -4,6 +4,7 @@ + #include "sn_config.h" + + #ifdef INCLUDE_INTERFACE ++#include <ctype.h> + #include <signal.h> + #include <termios.h> + #include <stdlib.h> +--- a/src/sniffit.c ++++ b/src/sniffit.c +@@ -3,6 +3,7 @@ + + #include "sn_config.h" /* Config header file */ + ++#include <ctype.h> + #include <unistd.h> + #include <signal.h> + #include <stdlib.h> + diff --git a/net-analyzer/sniffit/files/sniffit-0.6-tinfo.patch b/net-analyzer/sniffit/files/sniffit-0.6-tinfo.patch new file mode 100644 index 000000000000..960aaf853013 --- /dev/null +++ b/net-analyzer/sniffit/files/sniffit-0.6-tinfo.patch @@ -0,0 +1,12 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -16,7 +16,8 @@ AC_PROG_CC + # not use it because src/sn_config.h does not define INCLUDE_INTERFACE because + # other conditions are not met. It would be better to move that logic entirely + # to Autoconf and to define (or not) INCLUDE_INTERFACE only here. +-AC_CHECK_LIB(ncurses, initscr) ++AC_CHECK_LIB(ncurses, initscr, , [AC_MSG_ERROR([Couldn't find libncurses])]) ++AC_SEARCH_LIBS(keypad, tinfo, , [AC_MSG_ERROR([Couldn't find libncurses])]) + AC_CHECK_LIB(pcap, pcap_open_live, , [AC_MSG_ERROR([Couldn't find libpcap])]) + + # Checks for header files. diff --git a/net-analyzer/sniffit/metadata.xml b/net-analyzer/sniffit/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/sniffit/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sniffit/sniffit-0.5-r1.ebuild b/net-analyzer/sniffit/sniffit-0.5-r1.ebuild new file mode 100644 index 000000000000..82d9af795416 --- /dev/null +++ b/net-analyzer/sniffit/sniffit-0.5-r1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Interactive Packet Sniffer" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/sniffit" +SRC_URI="https://github.com/resurrecting-open-source-projects/sniffit/archive/${P}.tar.gz" +S="${WORKDIR}"/${PN}-${P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc ~sparc x86" + +RDEPEND=" + net-libs/libpcap + >=sys-libs/ncurses-5.2 +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.0-tinfo.patch + "${FILESDIR}"/${PN}-0.5.0-implicit-func-decl.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/sniffit/sniffit-0.6_p20240924.ebuild b/net-analyzer/sniffit/sniffit-0.6_p20240924.ebuild new file mode 100644 index 000000000000..3fa08752362b --- /dev/null +++ b/net-analyzer/sniffit/sniffit-0.6_p20240924.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Interactive Packet Sniffer" +HOMEPAGE="https://github.com/resurrecting-open-source-projects/sniffit" + +if [[ ${PV} == *_p* ]] ; then + SNIFFIT_COMMIT="22ab988654fa113fcc291844029a9b3889e5c84c" + SRC_URI="https://github.com/resurrecting-open-source-projects/sniffit/archive/${SNIFFIT_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/${PN}-${SNIFFIT_COMMIT} +else + SRC_URI="https://github.com/resurrecting-open-source-projects/sniffit/archive/${P}.tar.gz" + S="${WORKDIR}"/${PN}-${P} +fi + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc ~sparc x86" + +RDEPEND=" + net-libs/libpcap + >=sys-libs/ncurses-5.2:= +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.6-tinfo.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # bug #877295 + append-flags -std=gnu89 + + econf +} diff --git a/net-analyzer/snmpclitools/Manifest b/net-analyzer/snmpclitools/Manifest new file mode 100644 index 000000000000..bef97f1443c3 --- /dev/null +++ b/net-analyzer/snmpclitools/Manifest @@ -0,0 +1 @@ +DIST snmpclitools-0.7.2.tar.gz 59948 BLAKE2B fc2b0bf913e7145a62a910d759c18ed5a4954783d386b18af55522061bc729ec2337b8871ed76c8419441ed9b81be6e05ffd173c713356cd1a2d59e43d6e3912 SHA512 2b546f2286d8fe977ca17b6f04fa871a5d7d5d815a2157aef6c6af12e05021be829f766e43abda439c5ee5ae8a84e366178381d10760a536302363245ae5739b diff --git a/net-analyzer/snmpclitools/metadata.xml b/net-analyzer/snmpclitools/metadata.xml new file mode 100644 index 000000000000..3e6023768fc5 --- /dev/null +++ b/net-analyzer/snmpclitools/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/snmpclitools/snmpclitools-0.7.2.ebuild b/net-analyzer/snmpclitools/snmpclitools-0.7.2.ebuild new file mode 100644 index 000000000000..6f979fc2c60d --- /dev/null +++ b/net-analyzer/snmpclitools/snmpclitools-0.7.2.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="Pure-Python SNMP management tools" +HOMEPAGE=" + https://github.com/lextudio/snmpclitools/ + https://pypi.org/project/snmpclitools/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86" + +RDEPEND=" + >=dev-python/pysnmp-6.0.0[${PYTHON_USEDEP}] +" + +# TODO: doc +#distutils_enable_sphinx docs/source \ +# dev-python/sphinx-copybutton dev-python/sphinx-notfound-page dev-python/sphinx-sitemap diff --git a/net-analyzer/snmptt/Manifest b/net-analyzer/snmptt/Manifest new file mode 100644 index 000000000000..5e868c48ef06 --- /dev/null +++ b/net-analyzer/snmptt/Manifest @@ -0,0 +1 @@ +DIST snmptt_1.4.2.tgz 142697 BLAKE2B 5603197adb919a8e34d07d6981f35ff60db5674f254ce3ac4e9e12f7aad31b4ba85ddfa5b785df0c759bd97929a24e9f694b9511d060fc94d60fe2e70764c662 SHA512 b8782aa5789227253c1b65c98771de7eba319f1f29b56224415f89d0c687515cd099f0ba7d0e304d43a9d054fa66335fe09d99545f50415745ac86b8b56a2b9d diff --git a/net-analyzer/snmptt/files/snmptt.initd-r1 b/net-analyzer/snmptt/files/snmptt.initd-r1 new file mode 100644 index 000000000000..02b8fea24895 --- /dev/null +++ b/net-analyzer/snmptt/files/snmptt.initd-r1 @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need snmptrapd +} + +start() { + ebegin "Starting snmptt" + start-stop-daemon --start --pidfile /run/snmptt.pid --exec /usr/sbin/snmptt + eend +} + +stop() { + ebegin "Stopping snmptt" + start-stop-daemon --stop --pidfile /run/snmptt.pid + eend +} diff --git a/net-analyzer/snmptt/metadata.xml b/net-analyzer/snmptt/metadata.xml new file mode 100644 index 000000000000..87d758018cdd --- /dev/null +++ b/net-analyzer/snmptt/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:snmptt:snmptt</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/snmptt/snmptt-1.4.2.ebuild b/net-analyzer/snmptt/snmptt-1.4.2.ebuild new file mode 100644 index 000000000000..075a33df8231 --- /dev/null +++ b/net-analyzer/snmptt/snmptt-1.4.2.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="SNMP Trap Translator" +SRC_URI="https://downloads.sourceforge.net/snmptt/${P/-/_}.tgz" +HOMEPAGE="http://www.snmptt.org/" +LICENSE="GPL-2" + +KEYWORDS="~amd64 ~ppc x86" +SLOT="0" + +S="${WORKDIR}/${P/-/_}" + +RDEPEND=" + dev-lang/perl + dev-perl/Config-IniFiles + net-analyzer/net-snmp +" + +src_prepare() { + default + + # bug 105354, daemonize by default + sed -i \ + -e 's:mode = standalone:mode = daemon:g' \ + -e '/pid_file/s:/var/run:/run:g' \ + snmptt.ini || die + + echo "traphandle default /usr/sbin/snmptt" > examples/snmptrapd.conf.sample || die +} + +src_install() { + into /usr + dosbin \ + snmptt \ + snmptt-net-snmp-test \ + snmpttconvert \ + snmpttconvertmib \ + snmptthandler \ + snmptthandler-embedded + + insinto /etc/snmp + doins \ + examples/snmptrapd.conf.sample \ + examples/snmptt.conf.generic \ + snmptt.ini + newins examples/snmptt.conf.generic snmptt.conf + + dodoc ChangeLog README sample-trap + + docinto html + dodoc docs/* + + newinitd "${FILESDIR}"/snmptt.initd-r1 snmptt + + insinto /etc/logrotate.d + newins snmptt.logrotate snmptt +} diff --git a/net-analyzer/snort/Manifest b/net-analyzer/snort/Manifest new file mode 100644 index 000000000000..d74b593f0aeb --- /dev/null +++ b/net-analyzer/snort/Manifest @@ -0,0 +1 @@ +DIST snort-2.9.20.tar.gz 7009894 BLAKE2B 0fa1426dce94e2800550691bb433c01371c1688616a528c27803f75837cb5eb430246ee113b2a5a1e374b14b6fd5a57140ce54fe13fb13df94276fbd19aa0a15 SHA512 a9ca37e814baeb978a6db06c3c62256b9e98fdd9fa18ce881a2ce854c0c9a5d92476c3384bec9017b8a67e5d78c6f31ca19956a914f54b817343a159a2a7fced diff --git a/net-analyzer/snort/files/snort-2.9.12-snort.pc.patch b/net-analyzer/snort/files/snort-2.9.12-snort.pc.patch new file mode 100644 index 000000000000..3608a71c6922 --- /dev/null +++ b/net-analyzer/snort/files/snort-2.9.12-snort.pc.patch @@ -0,0 +1,11 @@ +--- a/snort.pc.in ++++ b/snort.pc.in +@@ -12,6 +12,5 @@ Name: Snort + Description: Snort dynamic plugins/detection/rules + URL: www.snort.org + Version: @VERSION@ +-Libs: -L${libdir} -lcurl @LDFLAGS@ @LIBS@ +-Cflags: @CFLAGS@ @CPPFLAGS@ +- ++Libs: -L${libdir} -lcurl @LIBS@ ++Cflags: -I${includedir} @CPPFLAGS@ diff --git a/net-analyzer/snort/files/snort-2.9.20-gcc-15-fix.patch b/net-analyzer/snort/files/snort-2.9.20-gcc-15-fix.patch new file mode 100644 index 000000000000..c17a6d08326c --- /dev/null +++ b/net-analyzer/snort/files/snort-2.9.20-gcc-15-fix.patch @@ -0,0 +1,26 @@ +Adapted from: https://lists.openembedded.org/g/openembedded-devel/topic/meta_oe_patch_2_8_snort/112466576 + +Upstream-Status: Backport [resolved in snort3 https://github.com/snort3/snort3/commit/c3cc27355ac302bd24ee3e9d613166898ec2be64] + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> +--- a/src/dynamic-preprocessors/dcerpc2/spp_dce2.c ++++ b/src/dynamic-preprocessors/dcerpc2/spp_dce2.c +@@ -160,7 +160,7 @@ static void DCE2_ReloadSwapFree(void *); + static void DCE2_AddPortsToPaf(struct _SnortConfig *, DCE2_Config *, tSfPolicyId); + static void DCE2_ScAddPortsToPaf(struct _SnortConfig *, void *); + static uint32_t max(uint32_t a, uint32_t b); +-static uint32_t DCE2_GetReloadSafeMemcap(); ++static uint32_t DCE2_GetReloadSafeMemcap(tSfPolicyUserContextId pConfig); + + static bool dce2_file_cache_is_enabled = false; + static bool dce2_file_cache_was_enabled = false; +--- a/src/preprocessors/HttpInspect/include/file_decomp_PDF.h ++++ b/src/preprocessors/HttpInspect/include/file_decomp_PDF.h +@@ -80,6 +80,6 @@ fd_status_t File_Decomp_Init_PDF( fd_session_p_t SessionPtr ); + + fd_status_t File_Decomp_End_PDF( fd_session_p_t SessionPtr ); + +-fd_status_t File_Decomp_PDF(); ++fd_status_t File_Decomp_PDF( fd_session_p_t SessionPtr ); + + #endif /* FILE_DECOMP_PDF_H */ diff --git a/net-analyzer/snort/files/snort-2.9.8.3-no-implicit.patch b/net-analyzer/snort/files/snort-2.9.8.3-no-implicit.patch new file mode 100644 index 000000000000..7faf9a4aaa25 --- /dev/null +++ b/net-analyzer/snort/files/snort-2.9.8.3-no-implicit.patch @@ -0,0 +1,8 @@ +diff --git a/src/preprocessors/perf_indicators.c b/src/preprocessors/perf_indicators.c +index d859fe7..c183552 100755 +--- a/src/preprocessors/perf_indicators.c ++++ b/src/preprocessors/perf_indicators.c +@@ -25,2 +25,3 @@ + #include "perf_indicators.h" ++#include "cpuclock.h" /* get_ticks_per_usec */ + diff --git a/net-analyzer/snort/files/snort-2.9.8.3-rpc.patch b/net-analyzer/snort/files/snort-2.9.8.3-rpc.patch new file mode 100644 index 000000000000..51ee56d8410e --- /dev/null +++ b/net-analyzer/snort/files/snort-2.9.8.3-rpc.patch @@ -0,0 +1,26 @@ +diff -ruN snort-2.9.8.3.orig/configure.in snort-2.9.8.3/configure.in +--- snort-2.9.8.3.orig/configure.in 2016-04-26 10:08:28.000000000 -0000 ++++ snort-2.9.8.3/configure.in 2017-09-25 20:21:17.632003858 -0000 +@@ -187,6 +187,22 @@ + AC_CHECK_LIB(nsl, inet_ntoa) + fi + ++AC_ARG_WITH([libtirpc], ++ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]), ++ [], [ with_libtirpc=no ]) ++ ++AS_IF([test "x$with_libtirpc" != xno], ++ [PKG_CHECK_MODULES([TIRPC], ++ [libtirpc], ++ [extra_incl="$extra_incl $TIRPC_CFLAGS"; LIBS="$LIBS $TIRPC_LIBS";], ++ [AC_MSG_ERROR([libtirpc requested, but library not found.])] ++ )], ++ [AC_CHECK_HEADER(rpc/rpc.h, ++ [], ++ [AC_MSG_ERROR([sunrpc requested, but headers are not present.])] ++ )] ++) ++ + if test -z "$no_libsocket"; then + AC_CHECK_LIB(socket, socket) + fi diff --git a/net-analyzer/snort/files/snort.confd.2 b/net-analyzer/snort/files/snort.confd.2 new file mode 100644 index 000000000000..780c91052d1d --- /dev/null +++ b/net-analyzer/snort/files/snort.confd.2 @@ -0,0 +1,16 @@ +# Config file for /etc/init.d/snort + +# The following options are now set in your snort.conf file: +# config set_gid: +# config set_uid: +# config snaplen: +# config bpf_file: +# config logdir: + +# The only options that should be set here are SNORT_IFACE and SNORT_CONF. + +# This tell snort which interface to listen on (any for every interface) +SNORT_IFACE="eth1" + +# Probably not this either +SNORT_CONF="/etc/snort/snort.conf" diff --git a/net-analyzer/snort/files/snort.rc12 b/net-analyzer/snort/files/snort.rc12 new file mode 100644 index 000000000000..ad453c821fd2 --- /dev/null +++ b/net-analyzer/snort/files/snort.rc12 @@ -0,0 +1,60 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="checkconfig" +extra_started_commands="reload" + +depend() { + need net + after mysql + after postgresql +} + +checkconfig() { + if [ ! -e ${SNORT_CONF} ] ; then + eerror "You need a configuration file to run snort" + eerror "There is an example config in /etc/snort/snort.conf.distrib" + return 1 + fi + if [ ! -d "/var/run/snort" ] ; then + checkpath -d /var/run/snort + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting snort" + start-stop-daemon --start --quiet --exec /usr/bin/snort \ + -- --nolock-pidfile --pid-path /var/run/snort -D -i ${SNORT_IFACE} \ + -c ${SNORT_CONF} >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping snort" + start-stop-daemon --stop --quiet --pidfile /var/run/snort/snort_${SNORT_IFACE}.pid + # Snort needs a few seconds to fully shutdown + sleep 15 + eend $? +} + +reload() { + + local SNORT_PID="`cat /var/run/snort/snort_${SNORT_IFACE}.pid`" + local SNORT_USER="`ps -p ${SNORT_PID} --no-headers -o user`" + + if [ ! -f /var/run/snort/snort_${SNORT_IFACE}.pid ]; then + eerror "Snort isn't running" + return 1 + elif [ ${SNORT_USER} != root ]; then + eerror "Snort must be running as root for reload to work!" + return 1 + else + checkconfig || return 1 + ebegin "Reloading Snort" + start-stop-daemon --signal HUP --pidfile /var/run/snort/snort_${SNORT_IFACE}.pid + fi +} + + diff --git a/net-analyzer/snort/files/snort.tmpfiles b/net-analyzer/snort/files/snort.tmpfiles new file mode 100644 index 000000000000..5772f2fd1ad1 --- /dev/null +++ b/net-analyzer/snort/files/snort.tmpfiles @@ -0,0 +1 @@ +d /run/snort 0755 snort snort - diff --git a/net-analyzer/snort/files/snort_at.service b/net-analyzer/snort/files/snort_at.service new file mode 100644 index 000000000000..40fb0cb1a1d5 --- /dev/null +++ b/net-analyzer/snort/files/snort_at.service @@ -0,0 +1,11 @@ +[Unit] +Description=Snort IDS system listening on '%I' + +[Service] +Type=simple +ExecStartPre=/bin/ip link set up dev %I +ExecStart=/usr/bin/snort --daq-dir /usr/lib/daq/ -A fast -b -p -u snort -g snort -c /etc/snort/snort.conf -i %I +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +Alias=multi-user.target.wants/snort@%i.service diff --git a/net-analyzer/snort/metadata.xml b/net-analyzer/snort/metadata.xml new file mode 100644 index 000000000000..3e804536b73d --- /dev/null +++ b/net-analyzer/snort/metadata.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Snort is an open source network intrusion prevention and detection + system (IDS/IPS) developed by Sourcefire. Combining the benefits of + signature, protocol, and anomaly-based inspection, Snort is the most + widely deployed IDS/IPS technology worldwide. With millions of downloads + and approximately 300,000 registered users, Snort has become the de facto + standard for IPS. + </longdescription> + <upstream> + <maintainer> + <email>snort-team@sourcefire.com</email> + <name>Snort Team</name> + </maintainer> + <changelog>https://www.snort.org/downloads</changelog> + <doc>https://snort.org/documents#OfficialDocumentation</doc> + <bugs-to>https://snort.org/community#bugs</bugs-to> + <remote-id type="cpe">cpe:/a:snort:snort</remote-id> + </upstream> + <use> + <flag name="control-socket"> + Enables Snort's control socket. + </flag> + <flag name="file-inspect"> + Enables extended file inspection capabilities. + </flag> + <flag name="gre"> + Enable support for inspecting and processing Generic Routing + Encapsulation (GRE) packet headers. Only needed if you are + monitoring GRE tunnels. + </flag> + <flag name="high-availability"> + Enables high-availability state sharing. + </flag> + <flag name="inline-init-failopen"> + Enables support to allow traffic to pass (fail-open) through + inline deployments while snort is starting and not ready to begin + inspecting traffic. If this option is not enabled, network + traffic will not pass (fail-closed) until snort has fully started + and is ready to perform packet inspection. + </flag> + <flag name="linux-smp-stats"> + Enable accurate statistics reporting through /proc on systems with + multiple processors. + </flag> + <flag name="non-ether-decoders"> + Enable decoding of non-ethernet protocols such as TokenRing, FDDI, + IPX, etc. + </flag> + <flag name="open-appid"> + Enable OpenAppID, an open, application-focused detection language + and processing module for Snort that enables users to create, share, + and implement application detection. Requires <pkg>dev-lang/luajit</pkg>. + </flag> + <flag name="perfprofiling"> + Enables support for preprocessor and rule performance profiling + using the perfmonitor preprocessor. + </flag> + <flag name="ppm"> + Enables support for setting per rule or per packet latency limits. + Helps protect against introducing network latency with inline + deployments. + </flag> + <flag name="react"> + Enables support for the react rule keyword. Supports interception, + termination, and redirection of HTTP connections. + </flag> + <flag name="shared-rep"> + Enables the use of shared memory for the Reputation Preprocessor + (Only available on Linux systems) + </flag> + <flag name="side-channel"> + Enables Snort's side channel. + </flag> + <flag name="sourcefire"> + Enables Sourcefire specific build options, which include + --enable-perfprofiling and --enable-ppm. + </flag> + <flag name="reload-error-restart"> + Enables support for completely restarting snort if an error is + detected during a reload. + </flag> + <flag name="active-response"> + Enables support for automatically sending TCP resets and ICMP + unreachable messages to terminate connections. Used with inline + deployments. + </flag> + <flag name="flexresp3"> + Enables support for new flexable response preprocessor for enabling + connection tearing for inline deployments. Replaces flexresp and + flexresp2. + </flag> + <flag name="large-pcap-64bit"> + Allows Snort to read pcap files that are larger than 2 GB. ONLY + VALID FOR 64bit SYSTEMS! + </flag> + <flag name="libtirpc"> + Build against <pkg>net-libs/libtirpc</pkg> for RPC support + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/snort/snort-2.9.20-r1.ebuild b/net-analyzer/snort/snort-2.9.20-r1.ebuild new file mode 100644 index 000000000000..2d2b3757673c --- /dev/null +++ b/net-analyzer/snort/snort-2.9.20-r1.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) + +inherit autotools flag-o-matic lua-single systemd tmpfiles + +DESCRIPTION="The de facto standard for intrusion detection/prevention" +HOMEPAGE="https://www.snort.org" +SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="+active-response control-socket debug file-inspect +flexresp3 +gre +high-availability inline-init-failopen large-pcap-64bit +libtirpc +linux-smp-stats +non-ether-decoders open-appid +perfprofiling +ppm +react +reload-error-restart selinux shared-rep side-channel sourcefire +threads" + +DEPEND="acct-user/snort + acct-group/snort + dev-libs/libdnet + >=dev-libs/libpcre-8.33 + net-libs/libnsl:0= + >=net-libs/libpcap-1.3.0 + virtual/zlib:= + !libtirpc? ( sys-libs/glibc[rpc(-)] ) + libtirpc? ( net-libs/libtirpc ) + open-appid? ( ${LUA_DEPS} )" +BDEPEND=">=net-libs/daq-2.0.2" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-snort )" + +REQUIRED_USE="!kernel_linux? ( !shared-rep ) + open-appid? ( ${LUA_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/${PN}-2.9.8.3-no-implicit.patch" + "${FILESDIR}/${PN}-2.9.8.3-rpc.patch" + "${FILESDIR}/${PN}-2.9.12-snort.pc.patch" + "${FILESDIR}/${PN}-2.9.20-gcc-15-fix.patch" +) + +pkg_setup() { + use open-appid && lua-single_pkg_setup +} + +src_prepare() { + default + + mv configure.{in,ac} || die + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/861239 + # + # Upstream does bug mail. Sent an email. + # + # Do not trust with LTO either. + append-flags -fno-strict-aliasing + filter-lto + + econf \ + $(use_enable gre) \ + $(use_enable control-socket) \ + $(use_enable file-inspect) \ + $(use_enable high-availability ha) \ + $(use_enable non-ether-decoders) \ + $(use_enable shared-rep) \ + $(use_enable side-channel) \ + $(use_enable sourcefire) \ + $(use_enable ppm) \ + $(use_enable perfprofiling) \ + $(use_enable linux-smp-stats) \ + $(use_enable inline-init-failopen) \ + $(use_enable open-appid) \ + $(use_enable threads pthread) \ + $(use_enable debug) \ + $(use_enable debug debug-msgs) \ + $(use_enable debug corefiles) \ + $(use_enable !debug dlclose) \ + $(use_enable active-response) \ + $(use_enable reload-error-restart) \ + $(use_enable react) \ + $(use_enable flexresp3) \ + $(use_enable large-pcap-64bit large-pcap) \ + $(use_with libtirpc) \ + --enable-mpls \ + --enable-normalizer \ + --enable-reload \ + --enable-targetbased \ + --disable-build-dynamic-examples \ + --disable-profile \ + --disable-ppm-test \ + --disable-intel-soft-cpm \ + --disable-static-daq \ + --disable-static \ + --disable-so-with-static-lib +} + +src_install() { + default + + keepdir /var/log/snort \ + /etc/snort/rules \ + /etc/snort/so_rules \ + /usr/$(get_libdir)/snort_dynamicrules + + # config.log and build.log are needed by Sourcefire + # to trouble shoot build problems and bug reports so we are + # perserving them incase the user needs upstream support. + dodoc RELEASE.NOTES ChangeLog \ + doc/* \ + tools/u2boat/README.u2boat + + insinto /etc/snort + doins etc/attribute_table.dtd \ + etc/classification.config \ + etc/gen-msg.map \ + etc/reference.config \ + etc/threshold.conf \ + etc/unicode.map + + # We use snort.conf.distrib because the config file is complicated + # and the one shipped with snort can change drastically between versions. + # Users should migrate setting by hand and not with etc-update. + newins etc/snort.conf snort.conf.distrib + + # config.log and build.log are needed by Sourcefire + # to troubleshoot build problems and bug reports so we are + # preserving them incase the user needs upstream support. + if [ -f "${WORKDIR}/${PF}/config.log" ]; then + dodoc "${WORKDIR}/${PF}/config.log" + fi + if [ -f "${T}/build.log" ]; then + dodoc "${T}/build.log" + fi + + insinto /etc/snort/preproc_rules + doins preproc_rules/decoder.rules \ + preproc_rules/preprocessor.rules \ + preproc_rules/sensitive-data.rules + + fowners -R snort:snort \ + /var/log/snort \ + /etc/snort + + newinitd "${FILESDIR}/snort.rc12" snort + newconfd "${FILESDIR}/snort.confd.2" snort + systemd_newunit "${FILESDIR}/snort_at.service" "snort@.service" + + newtmpfiles "${FILESDIR}"/snort.tmpfiles snort.conf + + # Sourcefire uses Makefiles to install docs causing Bug #297190. + # This removes the unwanted doc directory and rogue Makefiles. + rm -rf "${ED}"/usr/share/doc/snort || die "Failed to remove SF doc directories" + rm "${ED}"/usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files" + + # Remove unneeded .la files (Bug #382863) + find "${ED}" -name '*.la' -type f -delete || die + + # Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection + sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct rule location in the config + sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct preprocessor/decoder rule location in the config + sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Enable the preprocessor/decoder rules + sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Just some clean up of trailing /'s in the config + sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Make it clear in the config where these are... + sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Disable all rule files by default. + sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the configured DAQ to afpacket + sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the location of the DAQ modules + sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the DAQ mode to passive + sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set snort to run as snort:snort + sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the default log dir + sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct so_rule location in the config + sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die +} + +pkg_postinst() { + tmpfiles_process snort.conf + + einfo "There have been a number of improvements and new features" + einfo "added to ${P}. Please review the RELEASE.NOTES and" + einfo "ChangLog located in /usr/share/doc/${PF}." + einfo + elog "The Sourcefire Vulnerability Research Team (VRT) recommends that" + elog "users migrate their snort.conf customizations to the latest config" + elog "file released by the VRT. You can find the latest version of the" + elog "Snort config file in /etc/snort/snort.conf.distrib." + elog + elog "!! It is important that you migrate to this new snort.conf file !!" + elog + elog "This version of the ebuild includes an updated init.d file and" + elog "conf.d file that rely on options found in the latest Snort" + elog "config file provided by the VRT." + + if use debug; then + elog "You have the 'debug' USE flag enabled. If this has been done to" + elog "troubleshoot an issue by producing a core dump or a back trace," + elog "then you need to also ensure the FEATURES variable in make.conf" + elog "contains the 'nostrip' option." + fi +} diff --git a/net-analyzer/snort/snort-2.9.20.ebuild b/net-analyzer/snort/snort-2.9.20.ebuild new file mode 100644 index 000000000000..a65656105da7 --- /dev/null +++ b/net-analyzer/snort/snort-2.9.20.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) + +inherit autotools flag-o-matic lua-single systemd tmpfiles + +DESCRIPTION="The de facto standard for intrusion detection/prevention" +HOMEPAGE="https://www.snort.org" +SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="+active-response control-socket debug file-inspect +flexresp3 +gre +high-availability inline-init-failopen large-pcap-64bit +libtirpc +linux-smp-stats +non-ether-decoders open-appid +perfprofiling +ppm +react +reload-error-restart selinux shared-rep side-channel sourcefire +threads" + +DEPEND="acct-user/snort + acct-group/snort + dev-libs/libdnet + >=dev-libs/libpcre-8.33 + net-libs/libnsl:0= + >=net-libs/libpcap-1.3.0 + virtual/zlib:= + !libtirpc? ( sys-libs/glibc[rpc(-)] ) + libtirpc? ( net-libs/libtirpc ) + open-appid? ( ${LUA_DEPS} )" +BDEPEND=">=net-libs/daq-2.0.2" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-snort )" + +REQUIRED_USE="!kernel_linux? ( !shared-rep ) + open-appid? ( ${LUA_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/${PN}-2.9.8.3-no-implicit.patch" + "${FILESDIR}/${PN}-2.9.8.3-rpc.patch" + "${FILESDIR}/${PN}-2.9.12-snort.pc.patch" +) + +pkg_setup() { + use open-appid && lua-single_pkg_setup +} + +src_prepare() { + default + + mv configure.{in,ac} || die + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/861239 + # + # Upstream does bug mail. Sent an email. + # + # Do not trust with LTO either. + append-flags -fno-strict-aliasing + filter-lto + + econf \ + $(use_enable gre) \ + $(use_enable control-socket) \ + $(use_enable file-inspect) \ + $(use_enable high-availability ha) \ + $(use_enable non-ether-decoders) \ + $(use_enable shared-rep) \ + $(use_enable side-channel) \ + $(use_enable sourcefire) \ + $(use_enable ppm) \ + $(use_enable perfprofiling) \ + $(use_enable linux-smp-stats) \ + $(use_enable inline-init-failopen) \ + $(use_enable open-appid) \ + $(use_enable threads pthread) \ + $(use_enable debug) \ + $(use_enable debug debug-msgs) \ + $(use_enable debug corefiles) \ + $(use_enable !debug dlclose) \ + $(use_enable active-response) \ + $(use_enable reload-error-restart) \ + $(use_enable react) \ + $(use_enable flexresp3) \ + $(use_enable large-pcap-64bit large-pcap) \ + $(use_with libtirpc) \ + --enable-mpls \ + --enable-normalizer \ + --enable-reload \ + --enable-targetbased \ + --disable-build-dynamic-examples \ + --disable-profile \ + --disable-ppm-test \ + --disable-intel-soft-cpm \ + --disable-static-daq \ + --disable-static \ + --disable-so-with-static-lib +} + +src_install() { + default + + keepdir /var/log/snort \ + /etc/snort/rules \ + /etc/snort/so_rules \ + /usr/$(get_libdir)/snort_dynamicrules + + # config.log and build.log are needed by Sourcefire + # to trouble shoot build problems and bug reports so we are + # perserving them incase the user needs upstream support. + dodoc RELEASE.NOTES ChangeLog \ + doc/* \ + tools/u2boat/README.u2boat + + insinto /etc/snort + doins etc/attribute_table.dtd \ + etc/classification.config \ + etc/gen-msg.map \ + etc/reference.config \ + etc/threshold.conf \ + etc/unicode.map + + # We use snort.conf.distrib because the config file is complicated + # and the one shipped with snort can change drastically between versions. + # Users should migrate setting by hand and not with etc-update. + newins etc/snort.conf snort.conf.distrib + + # config.log and build.log are needed by Sourcefire + # to troubleshoot build problems and bug reports so we are + # preserving them incase the user needs upstream support. + if [ -f "${WORKDIR}/${PF}/config.log" ]; then + dodoc "${WORKDIR}/${PF}/config.log" + fi + if [ -f "${T}/build.log" ]; then + dodoc "${T}/build.log" + fi + + insinto /etc/snort/preproc_rules + doins preproc_rules/decoder.rules \ + preproc_rules/preprocessor.rules \ + preproc_rules/sensitive-data.rules + + fowners -R snort:snort \ + /var/log/snort \ + /etc/snort + + newinitd "${FILESDIR}/snort.rc12" snort + newconfd "${FILESDIR}/snort.confd.2" snort + systemd_newunit "${FILESDIR}/snort_at.service" "snort@.service" + + newtmpfiles "${FILESDIR}"/snort.tmpfiles snort.conf + + # Sourcefire uses Makefiles to install docs causing Bug #297190. + # This removes the unwanted doc directory and rogue Makefiles. + rm -rf "${ED}"/usr/share/doc/snort || die "Failed to remove SF doc directories" + rm "${ED}"/usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files" + + # Remove unneeded .la files (Bug #382863) + find "${ED}" -name '*.la' -type f -delete || die + + # Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection + sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct rule location in the config + sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct preprocessor/decoder rule location in the config + sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Enable the preprocessor/decoder rules + sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Just some clean up of trailing /'s in the config + sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Make it clear in the config where these are... + sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Disable all rule files by default. + sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the configured DAQ to afpacket + sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the location of the DAQ modules + sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set the DAQ mode to passive + sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \ + "${ED%}/etc/snort/snort.conf.distrib" || die + + # Set snort to run as snort:snort + sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the default log dir + sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die + + # Set the correct so_rule location in the config + sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \ + "${ED}/etc/snort/snort.conf.distrib" || die +} + +pkg_postinst() { + tmpfiles_process snort.conf + + einfo "There have been a number of improvements and new features" + einfo "added to ${P}. Please review the RELEASE.NOTES and" + einfo "ChangLog located in /usr/share/doc/${PF}." + einfo + elog "The Sourcefire Vulnerability Research Team (VRT) recommends that" + elog "users migrate their snort.conf customizations to the latest config" + elog "file released by the VRT. You can find the latest version of the" + elog "Snort config file in /etc/snort/snort.conf.distrib." + elog + elog "!! It is important that you migrate to this new snort.conf file !!" + elog + elog "This version of the ebuild includes an updated init.d file and" + elog "conf.d file that rely on options found in the latest Snort" + elog "config file provided by the VRT." + + if use debug; then + elog "You have the 'debug' USE flag enabled. If this has been done to" + elog "troubleshoot an issue by producing a core dump or a back trace," + elog "then you need to also ensure the FEATURES variable in make.conf" + elog "contains the 'nostrip' option." + fi +} diff --git a/net-analyzer/snortalog/Manifest b/net-analyzer/snortalog/Manifest new file mode 100644 index 000000000000..2229e562f202 --- /dev/null +++ b/net-analyzer/snortalog/Manifest @@ -0,0 +1 @@ +DIST snortalog_v2.4.3.tar 1324032 BLAKE2B dae81fe861c7d85ce5fce63ffe773cccb8b643654a861e1b9cc91db22e5683c4a5d2c83ee6a1895386777c600b004978f91e3ed8a333397139bfe6f9644a79ce SHA512 b4b8558865ae4d1ef932114f2a2fb5af7fb069f1b587955d9d489a31635e890fb0ed36ebcde19322ab0c0cae49734da08602e283bd731c769de527abf7d74d06 diff --git a/net-analyzer/snortalog/metadata.xml b/net-analyzer/snortalog/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/snortalog/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/snortalog/snortalog-2.4.3-r2.ebuild b/net-analyzer/snortalog/snortalog-2.4.3-r2.ebuild new file mode 100644 index 000000000000..2063d0ad5aa0 --- /dev/null +++ b/net-analyzer/snortalog/snortalog-2.4.3-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_P="${PN}_v${PV}" + +inherit edos2unix + +DESCRIPTION="A powerful perl script that summarizes snort logs" +HOMEPAGE="http://jeremy.chartier.free.fr/snortalog/" +SRC_URI="http://jeremy.chartier.free.fr/snortalog/downloads/${PN}/${MY_P}.tar" +S="${WORKDIR}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86" +IUSE="tk" + +RDEPEND=" + || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] <dev-lang/perl-5.38.2-r3[ithreads] ) + dev-perl/GDGraph + dev-perl/HTML-HTMLDoc + virtual/perl-DB_File + virtual/perl-Getopt-Long + tk? ( dev-perl/Tk ) +" + +src_prepare() { + default + + local convert=$(find conf/ modules/ -type f || die) + convert+=( ${PN}.* CHANGES ) + + local item + for item in ${convert[@]} ; do + edos2unix "${item}" + done + + # fix paths, erroneous can access message + sed -i \ + -e "s:\(modules/\):/usr/lib/snortalog/${PV}/\1:g" \ + -e 's:\($domains_file = "\)conf/\(domains\)\(".*\):\1/etc/snortalog/\2\3:' \ + -e 's:\($rules_file = "\)conf/\(rules\)\(".*\):\1/etc/snortalog/\2\3:' \ + -e 's:\($picts_dir ="\)picts\(".*\):\1/etc/snortalog/picts\2:' \ + -e 's:\($hw_file = "\)conf/\(hw\)\(".*\):\1/etc/snortalog/\2\3:' \ + -e 's:\($lang_file ="\)conf/\(lang\)\(".*\):\1/etc/snortalog/\2\3:' \ + -e 's:Can access:Cannot access:' \ + snortalog.pl || die +} + +src_install() { + dobin snortalog.pl + + insinto /etc/snortalog + doins conf/{domains,hw,lang,rules} + + insinto /etc/snortalog/picts + doins picts/* + + insinto /usr/lib/snortalog/${PV}/modules + doins -r modules/* + + dodoc CHANGES doc/snortalog_v2.2.1.pdf +} diff --git a/net-analyzer/softflowd/Manifest b/net-analyzer/softflowd/Manifest new file mode 100644 index 000000000000..8e5c65851f2a --- /dev/null +++ b/net-analyzer/softflowd/Manifest @@ -0,0 +1 @@ +DIST softflowd-1.0.0.tar.gz 168379 BLAKE2B 97ce677adf8f8278516f25e82db1757ad5fe208fb8923b189698525d58d60c998ea847f29ae91eefed57d7bd1eb42f119a99e46346753539cb3a9584a90eb484 SHA512 01a4f89755c957a495b08c49b572b8b6aa41f5ac7672feb5e31b039fbfab84f3a206b1da95b11de2ec5882123f6ca2387c02efb874ce707c2263bf79b56012fd diff --git a/net-analyzer/softflowd/files/softflowd.confd b/net-analyzer/softflowd/files/softflowd.confd new file mode 100644 index 000000000000..dc1a36c874cd --- /dev/null +++ b/net-analyzer/softflowd/files/softflowd.confd @@ -0,0 +1,9 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Copy conf file to softflowd.interface + +# SOFTFLOWD_COLLECTOR=host:port +# SOFTFLOWD_TIMEOUTS="maxlife=600" +# SOFTFLOWD_MAXFLOWS=17000 +# SOFTFLOWD_EXTRA= +# SOFTFLOWD_INTERFACE_IDX= diff --git a/net-analyzer/softflowd/files/softflowd.initd b/net-analyzer/softflowd/files/softflowd.initd new file mode 100644 index 000000000000..c0c2a831c629 --- /dev/null +++ b/net-analyzer/softflowd/files/softflowd.initd @@ -0,0 +1,53 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +softflowd_checkconfig() { + SOFTFLOWD_INTERFACE=${SVCNAME#*.} + if [ ${SOFTFLOWD_INTERFACE} = ${SVCNAME} ]; then + eerror "You have to create an init script for each interface:" + eerror "ln -s softflowd /etc/init.d/softflowd.eth0" + return 1 + fi + + if [ -z "${SOFTFLOWD_COLLECTOR}" ]; then + eerror "Specify the host and port that the accounting datagrams are to be" + eerror "sent to in /etc/conf.d/${SVCNAME}." + eerror "Example: SOFTFLOWD_COLLECTOR=collector.example.com:9995" + return 1 + fi + SOFTFLOWD_PIDFILE="/var/run/softflowd.${SOFTFLOWD_INTERFACE}.pid" + SOFTFLOWD_CTLFILE="/var/run/softflowd.${SOFTFLOWD_INTERFACE}.ctl" +} + + +start() { + softflowd_checkconfig || return 1 + + ebegin "Starting softflowd on interface ${SOFTFLOWD_INTERFACE}" + iface_arg=${SOFTFLOWD_INTERFACE} + [ -n "${SOFTFLOWD_INTERFACE_IDX}" ] && iface_arg="${SOFTFLOWD_INTERFACE_IDX}:${iface_arg}" + start-stop-daemon --start \ + --exec /usr/sbin/softflowd \ + -- -i "${iface_arg}" \ + -n "${SOFTFLOWD_COLLECTOR}" \ + -p "${SOFTFLOWD_PIDFILE}" \ + -c "${SOFTFLOWD_CTLFILE}" \ + -t "${SOFTFLOWD_TIMEOUTS-maxlife=600}" \ + -m "${SOFTFLOWD_MAXFLOWS-17000}" \ + ${SOFTFLOWD_EXTRA} + eend $? +} + +stop() { + softflowd_checkconfig || return 1 + + ebegin "Stopping softflowd on interface ${SOFTFLOWD_INTERFACE}" + # use softflowd's own way to shut it down + /usr/sbin/softflowctl -c ${SOFTFLOWD_CTLFILE} shutdown + eend $? +} diff --git a/net-analyzer/softflowd/metadata.xml b/net-analyzer/softflowd/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/softflowd/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/softflowd/softflowd-1.0.0.ebuild b/net-analyzer/softflowd/softflowd-1.0.0.ebuild new file mode 100644 index 000000000000..6795a9a13ead --- /dev/null +++ b/net-analyzer/softflowd/softflowd-1.0.0.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="flow-based network traffic analyser capable of Cisco NetFlow data export" +HOMEPAGE="https://www.mindrot.org/projects/softflowd/" +SRC_URI="https://github.com/irino/${PN}/archive/${P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" +PATCHES=( +# "${FILESDIR}"/${PN}-0.9.9-_GNU_SOURCE.patch +) +S=${WORKDIR}/${PN}-${P} + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + + docinto examples + dodoc collector.pl + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/net-analyzer/speedtest++/Manifest b/net-analyzer/speedtest++/Manifest new file mode 100644 index 000000000000..96c1c7976566 --- /dev/null +++ b/net-analyzer/speedtest++/Manifest @@ -0,0 +1 @@ +DIST speedtest++-0.0.20240407.tar.gz 17713 BLAKE2B b813f28e953105d763b8792462632b75e0f0a179849c2f89e73259250512c1e50d52236b206544cbf98505e037cc7dc8215549e0a1b7c90c9b1ced6d5624d292 SHA512 3a802ff31c693fd52215c0ff2ec361bb15993128e4f67ca1f98de347d8a37ad64324129727f2082cd374e0a8c032878667dba15f43ff2bd9369b6a072362c26f diff --git a/net-analyzer/speedtest++/files/speedtest++-0.0.20240407-cmake-4.patch b/net-analyzer/speedtest++/files/speedtest++-0.0.20240407-cmake-4.patch new file mode 100644 index 000000000000..302b53959205 --- /dev/null +++ b/net-analyzer/speedtest++/files/speedtest++-0.0.20240407-cmake-4.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.7) ++cmake_minimum_required(VERSION 4.0) + project(SpeedTest) + + set (SpeedTest_VERSION_MAJOR 1) diff --git a/net-analyzer/speedtest++/metadata.xml b/net-analyzer/speedtest++/metadata.xml new file mode 100644 index 000000000000..1958e5e3c5a9 --- /dev/null +++ b/net-analyzer/speedtest++/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zx2c4@gentoo.org</email> + <name>Jason A. Donenfeld</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/speedtest++/speedtest++-0.0.20240407.ebuild b/net-analyzer/speedtest++/speedtest++-0.0.20240407.ebuild new file mode 100644 index 000000000000..94bc14c247bd --- /dev/null +++ b/net-analyzer/speedtest++/speedtest++-0.0.20240407.ebuild @@ -0,0 +1,26 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="High performance speedtest.net CLI" +HOMEPAGE="https://github.com/taganaka/SpeedTest" +SNAPSHOT_COMMIT="b743996d617e63c065b8552165954dfd2b1f2918" +SRC_URI="https://github.com/taganaka/SpeedTest/archive/${SNAPSHOT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + net-misc/curl + dev-libs/libxml2:= + dev-libs/openssl:0= +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/SpeedTest-${SNAPSHOT_COMMIT}" + +PATCHES=( "${FILESDIR}"/"${P}"-cmake-4.patch ) diff --git a/net-analyzer/speedtest-cli/Manifest b/net-analyzer/speedtest-cli/Manifest new file mode 100644 index 000000000000..8cccddb672e4 --- /dev/null +++ b/net-analyzer/speedtest-cli/Manifest @@ -0,0 +1 @@ +DIST speedtest-cli-2.1.3.tar.gz 24771 BLAKE2B 70c604848ffa29ae0a28a636a40ffdd278000c865b243038f773d20a4f6f1c668704505c8bae302d84a0957b2a6ad9d4b303e2e9371b351348d7147ff9a5a67d SHA512 e2ecd9b4eea95e3641045c3da217ec5a39846b26c1f773fdd31c6ffe3cb5e35341320fc1992f865af48afd1a704c4d4224f9ec4048abb69131ee2f32385ae94c diff --git a/net-analyzer/speedtest-cli/files/speedtest-cli-2.1.3-json-serverlist.patch b/net-analyzer/speedtest-cli/files/speedtest-cli-2.1.3-json-serverlist.patch new file mode 100644 index 000000000000..455fd4bfd2eb --- /dev/null +++ b/net-analyzer/speedtest-cli/files/speedtest-cli-2.1.3-json-serverlist.patch @@ -0,0 +1,88 @@ +diff --git a/speedtest.py b/speedtest.py +index a33296d..e7490b1 100755 +--- a/speedtest.py ++++ b/speedtest.py +@@ -20,6 +20,7 @@ import re + import csv + import sys + import math ++import json + import errno + import signal + import socket +@@ -1250,10 +1251,7 @@ class Speedtest(object): + ) + + urls = [ +- '://www.speedtest.net/speedtest-servers-static.php', +- 'http://c.speedtest.net/speedtest-servers-static.php', +- '://www.speedtest.net/speedtest-servers.php', +- 'http://c.speedtest.net/speedtest-servers.php', ++ "://www.speedtest.net/api/js/servers", + ] + + headers = {} +@@ -1296,53 +1294,31 @@ class Speedtest(object): + printer('Servers XML:\n%s' % serversxml, debug=True) + + try: +- try: +- try: +- root = ET.fromstring(serversxml) +- except ET.ParseError: +- e = get_exception() +- raise SpeedtestServersError( +- 'Malformed speedtest.net server list: %s' % e +- ) +- elements = etree_iter(root, 'server') +- except AttributeError: +- try: +- root = DOM.parseString(serversxml) +- except ExpatError: +- e = get_exception() +- raise SpeedtestServersError( +- 'Malformed speedtest.net server list: %s' % e +- ) +- elements = root.getElementsByTagName('server') +- except (SyntaxError, xml.parsers.expat.ExpatError): ++ elements = json.loads(serversxml) ++ except SyntaxError: + raise ServersRetrievalError() + + for server in elements: +- try: +- attrib = server.attrib +- except AttributeError: +- attrib = dict(list(server.attributes.items())) +- +- if servers and int(attrib.get('id')) not in servers: ++ if servers and int(server.get('id')) not in servers: + continue + +- if (int(attrib.get('id')) in self.config['ignore_servers'] +- or int(attrib.get('id')) in exclude): ++ if (int(server.get('id')) in self.config['ignore_servers'] ++ or int(server.get('id')) in exclude): + continue + + try: + d = distance(self.lat_lon, +- (float(attrib.get('lat')), +- float(attrib.get('lon')))) ++ (float(server.get('lat')), ++ float(server.get('lon')))) + except Exception: + continue + +- attrib['d'] = d ++ server['d'] = d + + try: +- self.servers[d].append(attrib) ++ self.servers[d].append(server) + except KeyError: +- self.servers[d] = [attrib] ++ self.servers[d] = [server] + + break + diff --git a/net-analyzer/speedtest-cli/metadata.xml b/net-analyzer/speedtest-cli/metadata.xml new file mode 100644 index 000000000000..61748ea16a00 --- /dev/null +++ b/net-analyzer/speedtest-cli/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/speedtest-cli/speedtest-cli-2.1.3-r2.ebuild b/net-analyzer/speedtest-cli/speedtest-cli-2.1.3-r2.ebuild new file mode 100644 index 000000000000..5670e77aa7f6 --- /dev/null +++ b/net-analyzer/speedtest-cli/speedtest-cli-2.1.3-r2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517="setuptools" +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Command line interface for testing internet bandwidth using speedtest.net" +HOMEPAGE="https://github.com/sivel/speedtest-cli" +SRC_URI="https://github.com/sivel/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ppc ppc64 x86" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${PN}-2.1.3-json-serverlist.patch" ) + +python_install_all() { + doman ${PN}.1 + distutils-r1_python_install_all +} diff --git a/net-analyzer/sqlninja/Manifest b/net-analyzer/sqlninja/Manifest new file mode 100644 index 000000000000..a5105289778d --- /dev/null +++ b/net-analyzer/sqlninja/Manifest @@ -0,0 +1 @@ +DIST sqlninja-0.2.6-r1.tgz 454841 BLAKE2B c8fc4932c4bffe03e873126801c75dbf9961b97979ff1fd1530aca5f0d132513f62de2516e1649f57955c0ef5ca723b52cd4f9c6e89b27df63b978b0aaf42745 SHA512 18f6c8f0f1eca59d9ce6df80267f1f6bf45d151dfcd395b32d349119e1480389ba28f057778349b4276d480f60c41ca03578a1ca9c4e246f3fcb63653bc6ccf9 diff --git a/net-analyzer/sqlninja/files/sqlninja b/net-analyzer/sqlninja/files/sqlninja new file mode 100644 index 000000000000..bb0f9e18b747 --- /dev/null +++ b/net-analyzer/sqlninja/files/sqlninja @@ -0,0 +1,4 @@ +#!/bin/sh + +cd /usr/lib/sqlninja/ +./sqlninja $@ diff --git a/net-analyzer/sqlninja/metadata.xml b/net-analyzer/sqlninja/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/sqlninja/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sqlninja/sqlninja-0.2.6_p1-r1.ebuild b/net-analyzer/sqlninja/sqlninja-0.2.6_p1-r1.ebuild new file mode 100644 index 000000000000..60cf228b8201 --- /dev/null +++ b/net-analyzer/sqlninja/sqlninja-0.2.6_p1-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="${PV//_/-}" +MY_PV="${MY_PV/p/r}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="A SQL Server injection & takeover tool" +HOMEPAGE="http://sqlninja.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tgz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" +RESTRICT="mirror" + +RDEPEND=" + dev-lang/perl + dev-perl/IO-Socket-SSL + dev-perl/List-MoreUtils + dev-perl/Net-DNS + dev-perl/Net-Pcap + dev-perl/Net-RawIP + dev-perl/NetPacket +" + +src_install() { + dodoc sqlninja-howto.html ChangeLog README + + if use doc; then + dodoc -r sources + docompress -x /usr/share/doc/${P}/sources + fi + + insinto /etc/${PN} + doins sqlninja.conf.example + + rm -r sources sqlninja-howto.html ChangeLog README LICENSE || die + rm -r apps || die + rm sqlninja.conf.example || die + + insinto /usr/lib/${PN} + exeinto /usr/lib/${PN} + doins -r * + + doexe sqlninja + dosbin "${FILESDIR}"/${PN} +} diff --git a/net-analyzer/squid-graph/Manifest b/net-analyzer/squid-graph/Manifest new file mode 100644 index 000000000000..bdc0dc6484a3 --- /dev/null +++ b/net-analyzer/squid-graph/Manifest @@ -0,0 +1 @@ +DIST squid-graph-3.2.tar.gz 20066 BLAKE2B 16c4b9621ad45eefe7be8c83d7339fb832516241e8eb17c7f0906b6dc7cddf06b2ed32d00e84ab390f95f7a57798f7af75a36af940605ce186513c09611c2152 SHA512 ab2529b0b67fb6549dd0837f2208ae712460ad19876baee8000a51c91ab31c464b83b360dfc93690ad6f4b3feb969cc95ca38a179ddefb6e0aa54b0cff866bfd diff --git a/net-analyzer/squid-graph/metadata.xml b/net-analyzer/squid-graph/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/squid-graph/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/squid-graph/squid-graph-3.2-r2.ebuild b/net-analyzer/squid-graph/squid-graph-3.2-r2.ebuild new file mode 100644 index 000000000000..e0e5a19500ef --- /dev/null +++ b/net-analyzer/squid-graph/squid-graph-3.2-r2.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Squid logfile analyzer and traffic grapher" +HOMEPAGE="http://squid-graph.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/squid-graph/${P}.tar.gz" +S="${WORKDIR}"/${PN} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +RDEPEND="dev-perl/GD[png(+)]" + +src_install() { + dobin apacheconv generate.cgi squid-graph timeconv + dodoc README +} diff --git a/net-analyzer/squidview/Manifest b/net-analyzer/squidview/Manifest new file mode 100644 index 000000000000..f1e76b0e0fbb --- /dev/null +++ b/net-analyzer/squidview/Manifest @@ -0,0 +1 @@ +DIST squidview-0.86.tar.gz 129911 BLAKE2B 8a514728508c2739aa619d1a481beddd6783e61ccad1252ee6f6a8052fe87bf0edbf23eac19761aac275a370092af45b981ae201a1e4a7b47168941ba642f128 SHA512 c020799e149a4884525b832a21ce990b90da5d3e1caac240913a37b8559bac4e3402b8f5732c3728308ecbea0a56a9e4b764ec7f36b15727c000d6d9e25a57a6 diff --git a/net-analyzer/squidview/files/squidview-0.86-tinfo.patch b/net-analyzer/squidview/files/squidview-0.86-tinfo.patch new file mode 100644 index 000000000000..7dd536c5f81f --- /dev/null +++ b/net-analyzer/squidview/files/squidview-0.86-tinfo.patch @@ -0,0 +1,43 @@ +--- a/configure.in ++++ b/configure.in +@@ -1,23 +1,9 @@ +-AC_DEFUN([CURSES_TEST], +-[ +-if test "x$sv_curses" = xno; then +- sv_test=$1 +- sv_pass="no" +- AC_MSG_CHECKING([name is $sv_test]) +- LIBS="-l$sv_test" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <curses.h>], [initscr();])], +- [sv_pass="yes"]) +- AC_MSG_RESULT([$sv_pass]) +- test "$sv_pass" = yes && sv_curses=$sv_test +- unset LIBS +-fi +-]) +- + AC_INIT(squidview.cpp) + AM_CONFIG_HEADER(config.h) + AM_INIT_AUTOMAKE(squidview,0.86) + AC_PROG_CXX + AC_PROG_INSTALL ++PKG_PROG_PKG_CONFIG + + AC_CHECK_HEADERS(curses.h, signal.h sys/time.h sys/types.h sys/stat.h \ + unistd.h fcntl.h time.h stdlib.h math.h stdio.h,, \ +@@ -28,14 +14,7 @@ + AC_CHECK_HEADER(vector,,AC_MSG_ERROR(C++ STL vector class missing)) + AC_CHECK_HEADER(algorithm,,AC_MSG_ERROR(C++ STL algorithm class missing)) + +-AC_MSG_NOTICE([Checking curses library name]) +-sv_curses=no +-CURSES_TEST(ncurses) +-CURSES_TEST(curses) +-if test "x$sv_curses" = xno; then +- AC_MSG_ERROR([No suitable curses found]) +-fi +-AC_CHECK_LIB($sv_curses, wgetch,,AC_MSG_ERROR([Curses support is not complete?])) ++PKG_CHECK_MODULES([NCURSES],[ncurses],LIBS="$LIBS $NCURSES_LIBS",AC_MSG_ERROR([No suitable curses found])) + + AC_MSG_CHECKING([large file support]) + sv_large="no" diff --git a/net-analyzer/squidview/metadata.xml b/net-analyzer/squidview/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/squidview/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/squidview/squidview-0.86.ebuild b/net-analyzer/squidview/squidview-0.86.ebuild new file mode 100644 index 000000000000..4ee7ee30ad0e --- /dev/null +++ b/net-analyzer/squidview/squidview-0.86.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="Interactive console program to analyse squid logs" +HOMEPAGE="http://www.rillion.net/squidview/" +SRC_URI="http://www.rillion.net/squidview/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + sys-libs/ncurses +" +DEPEND=" + ${RDEPEND} + virtual/pkgconfig +" +DOCS=( + AUTHORS BUGS ChangeLog HOWTO README +) +PATCHES=( + "${FILESDIR}"/${PN}-0.86-tinfo.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/net-analyzer/ssh-audit/Manifest b/net-analyzer/ssh-audit/Manifest new file mode 100644 index 000000000000..b779836867c0 --- /dev/null +++ b/net-analyzer/ssh-audit/Manifest @@ -0,0 +1,2 @@ +DIST ssh-audit-3.3.0.tar.gz 172808 BLAKE2B 9c02708344b491c3a64edec96b95973dddc7eb2e77bfc7752e747d4b890b2e0ef9ca2724962ea81940b0ee7ed475f5a149f768d915289bb704ea3b2cec17dafb SHA512 5be8c2e65ca76f34b425392ee54dc62be7a7bfe00fd567123000278a3c4fcd5fe7f4cab8f1edab5ffb08cb9827303ec1e6605b4d0b0a8b35c210f69a57fc595d +DIST ssh-audit-3.3.0_p20250901.tar.gz 178497 BLAKE2B 4184d89e630fe9fb5c6571ad144db01e6f3edf6894a9b8da4aeafefa45ceb43900821a6f976c470e06a047ad6aa357cd4bfae6522eda641c27d60fac7a2f3f0b SHA512 db6b389c564bd326da8c449287981e90a218cdec2583de07e02f0f3af9b77998a2c3f783aca6aeb9d3bd8a747b7497467b5a603a925fdeeb4031e4245eeb297c diff --git a/net-analyzer/ssh-audit/metadata.xml b/net-analyzer/ssh-audit/metadata.xml new file mode 100644 index 000000000000..ae2d62efbed5 --- /dev/null +++ b/net-analyzer/ssh-audit/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>hlein@korelogic.com</email> + <name>Hank Leininger</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ssh-audit/ssh-audit-3.3.0.ebuild b/net-analyzer/ssh-audit/ssh-audit-3.3.0.ebuild new file mode 100644 index 000000000000..7f9b37599d9e --- /dev/null +++ b/net-analyzer/ssh-audit/ssh-audit-3.3.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="SSH server auditing (banner, key exchange, encryption, mac, compression, etc)" +HOMEPAGE="https://github.com/jtesta/ssh-audit" +SRC_URI="https://github.com/jtesta/ssh-audit/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="test" + +# Tests require prospector which is not packaged +RESTRICT="test" + +src_install() { + distutils-r1_src_install + + doman ssh-audit.1 +} diff --git a/net-analyzer/ssh-audit/ssh-audit-3.3.0_p20250901.ebuild b/net-analyzer/ssh-audit/ssh-audit-3.3.0_p20250901.ebuild new file mode 100644 index 000000000000..eca44fca2476 --- /dev/null +++ b/net-analyzer/ssh-audit/ssh-audit-3.3.0_p20250901.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="SSH server auditing (banner, key exchange, encryption, mac, compression, etc)" +HOMEPAGE="https://github.com/jtesta/ssh-audit" +COMMIT="4f9a630de4292663bd50fff4dfa347c53316ca37" +SRC_URI="https://github.com/jtesta/ssh-audit/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="test" + +# Tests require prospector which is not packaged +RESTRICT="test" + +src_install() { + distutils-r1_src_install + + doman ssh-audit.1 +} diff --git a/net-analyzer/sshping/Manifest b/net-analyzer/sshping/Manifest new file mode 100644 index 000000000000..5ff59abc1d9a --- /dev/null +++ b/net-analyzer/sshping/Manifest @@ -0,0 +1 @@ +DIST sshping-0.1.4.tar.gz 3536227 BLAKE2B 30ee41324046d5ba5fb38a28acbf11dabadcbe41c506f7e4f51f2a5e95c015251d77ad16c534160eb1b83a871a5d25083b2481a5df91f5beb104279268838ae7 SHA512 16d72099b468c58d44835822a372f97863ba0b73282e8e64c20b0a0e6465e6f9efa634a85b0c7c13d03c470c547b08332820bf177f5bad59984270801ab74782 diff --git a/net-analyzer/sshping/files/sshping-0.1.4-cmake-minimum-version.patch b/net-analyzer/sshping/files/sshping-0.1.4-cmake-minimum-version.patch new file mode 100644 index 000000000000..888e5cdbf5b5 --- /dev/null +++ b/net-analyzer/sshping/files/sshping-0.1.4-cmake-minimum-version.patch @@ -0,0 +1,30 @@ +https://github.com/spook/sshping/pull/50 +From: John Helmert III <ajak@gentoo.org> +Date: Tue, 25 Mar 2025 21:20:43 -0700 +Subject: [PATCH] cmake: set cmake_minimum_required to 3.10 + +cmake-4 removes support for the minimum version being lower than 3.5, +and older than 3.10 is deprecated with 3.31. + +Closes: #49 +Gentoo-Bug: https://bugs.gentoo.org/951814 +Signed-off-by: John Helmert III <ajak@gentoo.org> +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e8a7d0b..046bc72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + # See https://github.com/spook/sshping ++cmake_minimum_required(VERSION 3.10) + project(sshping) +-cmake_minimum_required(VERSION 2.8) + + #find_package(libssh) + +-- +2.48.1 + diff --git a/net-analyzer/sshping/files/sshping-0.1.4-fix-man-dir.patch b/net-analyzer/sshping/files/sshping-0.1.4-fix-man-dir.patch new file mode 100644 index 000000000000..2758e84b70e4 --- /dev/null +++ b/net-analyzer/sshping/files/sshping-0.1.4-fix-man-dir.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e59dd5..d20c9a9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ if (UNIX) + endif (UNIX) + + add_custom_target(man ALL DEPENDS ${MAN_TGT}) +-install(FILES ${MAN_TGT} DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man8) ++install(FILES ${MAN_TGT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man8) + + # Packaging for RPM or DEB + find_program(rpmbuild_path "rpmbuild" FALSE) diff --git a/net-analyzer/sshping/files/sshping-0.1.4-respect-cxxflags.patch b/net-analyzer/sshping/files/sshping-0.1.4-respect-cxxflags.patch new file mode 100644 index 000000000000..9f2f905aded6 --- /dev/null +++ b/net-analyzer/sshping/files/sshping-0.1.4-respect-cxxflags.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e8a7d0b..00ade1c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 2.8) + #find_package(libssh) + + # Build the sshping binary +-set(CMAKE_CXX_FLAGS "-I ${CMAKE_CURRENT_SOURCE_DIR}/ext/ -Wall") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I ${CMAKE_CURRENT_SOURCE_DIR}/ext/") + add_executable(${PROJECT_NAME} src/sshping.cxx) + target_link_libraries(${PROJECT_NAME} ssh) + install(TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/net-analyzer/sshping/metadata.xml b/net-analyzer/sshping/metadata.xml new file mode 100644 index 000000000000..c98f336fe25a --- /dev/null +++ b/net-analyzer/sshping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>ajak@gentoo.org</email> + <name>John Helmert III</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sshping/sshping-0.1.4-r1.ebuild b/net-analyzer/sshping/sshping-0.1.4-r1.ebuild new file mode 100644 index 000000000000..853943b6e8ce --- /dev/null +++ b/net-analyzer/sshping/sshping-0.1.4-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="ssh-based ping: measure character echo latency and bandwidth" +HOMEPAGE="https://github.com/spook/sshping" +SRC_URI="https://github.com/spook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND="dev-lang/perl" +DEPEND="net-libs/libssh:=" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-fix-man-dir.patch" + "${FILESDIR}/${P}-respect-cxxflags.patch" + "${FILESDIR}/${P}-cmake-minimum-version.patch" +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" + ) + + cmake_src_configure +} diff --git a/net-analyzer/ssldump/Manifest b/net-analyzer/ssldump/Manifest new file mode 100644 index 000000000000..ea6cea811a6a --- /dev/null +++ b/net-analyzer/ssldump/Manifest @@ -0,0 +1,3 @@ +DIST ssldump-1.5.tar.gz 129388 BLAKE2B 9877bf604690911a3680cf4edfe0115a8a8e2ddf14abc260a99fdcc181bd727c5f3bfb0aa8864f502ff560ccab76e27a22266a3ed78eb516f019ed7cb44bef69 SHA512 4eb84744591539fdaf9b2454d23c917f5e97cb2e5f03e0c38393327caecc72dfc77ee7b734519b1f224a5e3a132185b8fccfeb9186fc9f1b586444fc748a3814 +DIST ssldump-1.8.tar.gz 188219 BLAKE2B e6cff9598e6818eb2192450c0958a7f9bf003d79ad74dd9e60b1af2e977b27a6b3667a5d7ed6fdb1fa836a51c4ab7a6dc2f0c5afb1dbd8b3b08af3cd145a872e SHA512 5435187fa851cddd167a5ee7e79f8051752780512873195b215e8695430282338f22719e6ddd32bd4eae3cc9a385abd44a4b369f93dc201908696aaed214b9bc +DIST ssldump-1.9.tar.gz 159474 BLAKE2B e42355ae619e73b3eefe0fb538f4e6f89fa9f160b77176f13904b545f3ba24a5776a837f48e4f712b8b808f5d8ccea2fd3c508a5e75986b27caf387ce2192f69 SHA512 762e09b3d41bcb19553c6290467010fae96633c825617131d90d193b81232aa08d59a4d28d37a32867d6cd92d85ed1a29cf7ece5908b65aa887f7a1e77147511 diff --git a/net-analyzer/ssldump/metadata.xml b/net-analyzer/ssldump/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ssldump/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ssldump/ssldump-1.5.ebuild b/net-analyzer/ssldump/ssldump-1.5.ebuild new file mode 100644 index 000000000000..a247c33d32e6 --- /dev/null +++ b/net-analyzer/ssldump/ssldump-1.5.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="An SSLv3/TLS network protocol analyzer" +HOMEPAGE="https://github.com/adulau/ssldump/" +SRC_URI="https://github.com/adulau/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="openssl" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~sparc x86" + +RDEPEND="dev-libs/json-c:= + dev-libs/openssl:= + net-libs/libnet:1.1 + net-libs/libpcap" +DEPEND="${RDEPEND}" + +src_prepare() { + default + + eautoreconf +} + +src_install() { + dosbin ssldump + doman ssldump.1 + dodoc ChangeLog CREDITS README README.md +} diff --git a/net-analyzer/ssldump/ssldump-1.8.ebuild b/net-analyzer/ssldump/ssldump-1.8.ebuild new file mode 100644 index 000000000000..f20cb707284d --- /dev/null +++ b/net-analyzer/ssldump/ssldump-1.8.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="An SSLv3/TLS network protocol analyzer" +HOMEPAGE="https://github.com/adulau/ssldump/" +SRC_URI="https://github.com/adulau/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="openssl" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~sparc x86" + +RDEPEND="dev-libs/json-c:= + dev-libs/openssl:= + net-libs/libnet:1.1 + net-libs/libpcap" +DEPEND="${RDEPEND}" + +src_install() { + dosbin "${BUILD_DIR}"/${PN} + doman ${PN}.1 + einstalldocs +} diff --git a/net-analyzer/ssldump/ssldump-1.9.ebuild b/net-analyzer/ssldump/ssldump-1.9.ebuild new file mode 100644 index 000000000000..f20cb707284d --- /dev/null +++ b/net-analyzer/ssldump/ssldump-1.9.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="An SSLv3/TLS network protocol analyzer" +HOMEPAGE="https://github.com/adulau/ssldump/" +SRC_URI="https://github.com/adulau/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="openssl" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ~sparc x86" + +RDEPEND="dev-libs/json-c:= + dev-libs/openssl:= + net-libs/libnet:1.1 + net-libs/libpcap" +DEPEND="${RDEPEND}" + +src_install() { + dosbin "${BUILD_DIR}"/${PN} + doman ${PN}.1 + einstalldocs +} diff --git a/net-analyzer/sslscan/Manifest b/net-analyzer/sslscan/Manifest new file mode 100644 index 000000000000..6370a1ec3a5a --- /dev/null +++ b/net-analyzer/sslscan/Manifest @@ -0,0 +1,3 @@ +DIST sslscan-2.2.0.tar.gz 117569 BLAKE2B 65a43bba582215dcf2aaa54694a6c29b5dcdcbf5286e6549cc31d886738a932dc06d50510dee4c256251d33a275001fc1a3240182ad606e1e0da50657b8ec931 SHA512 b01cc5fc903cd15d6895675724c3e6f8060a97b1f1536af6e88e28d63cc5cfdd32beaf61f7a717ecfe0e802d61e092d5189f7b6259fbc9866b82562d3e82ad78 +DIST sslscan-2.2.1.tar.gz 117840 BLAKE2B a317fa42122014007d4699db75a18e94f89d64119c0fb4df578779b52ccc90b4e2a445519d33d430c53c3b86597c3e7e0102d6d90e5e6efffb603dad007477e6 SHA512 83d1faf9f936c565d9e26147b3e239ac2e0166b2ac0a32dc8e92a63e9c28ad37f14612a98dc8a7005f538242fcb18022ae607df0d56c9b9660fbdf3d999079b0 +DIST sslscan-openssl-3.5.0.tar.gz 53323888 BLAKE2B bfd846b0e96ae728bd6740a6b584748176d8706d8fcfa06a03295b373262e8c08eb30b99c987cfb4f78f9bc0c9665b1eb399685aad27db813d9cbb3b22973431 SHA512 a1ef09ecc810b761b3adcdb79b5746ba06244a10f626a40e495a3df19411546b98d75f6c7e7c13de7c15753caf3db87af7096ed0bb835afed8cc6dbc366b542f diff --git a/net-analyzer/sslscan/files/gentoo.config-1.0.2 b/net-analyzer/sslscan/files/gentoo.config-1.0.2 new file mode 100644 index 000000000000..68d7d0ac1fc1 --- /dev/null +++ b/net-analyzer/sslscan/files/gentoo.config-1.0.2 @@ -0,0 +1,171 @@ +#!/usr/bin/env bash +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# +# Openssl doesn't play along nicely with cross-compiling +# like autotools based projects, so let's teach it new tricks. +# +# Review the bundled 'config' script to see why kind of targets +# we can pass to the 'Configure' script. + + +# Testing routines +if [[ $1 == "test" ]] ; then + for c in \ + "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \ + "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \ + "x86_64-pc-linux-gnu |linux-x86_64" \ + "alpha-linux-gnu |linux-alpha-gcc" \ + "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \ + "i686-pc-linux-gnu |linux-elf" \ + "whatever-gentoo-freebsdX.Y |BSD-generic32" \ + "i686-gentoo-freebsdX.Y |BSD-x86-elf" \ + "sparc64-alpha-freebsdX.Y |BSD-sparc64" \ + "ia64-gentoo-freebsd5.99234 |BSD-ia64" \ + "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \ + "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \ + "powerpc-gentOO-linux-uclibc |linux-ppc" \ + "powerpc64-unk-linux-gnu |linux-ppc64" \ + "powerpc64le-linux-gnu |linux-ppc64le" \ + "x86_64-apple-darwinX |darwin64-x86_64-cc" \ + "powerpc64-apple-darwinX |darwin64-ppc-cc" \ + "i686-apple-darwinX |darwin-i386-cc" \ + "i386-apple-darwinX |darwin-i386-cc" \ + "powerpc-apple-darwinX |darwin-ppc-cc" \ + "i586-pc-winnt |winnt-parity" \ + "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \ + "s390x-linux-gnu |linux64-s390x" \ + ;do + CHOST=${c/|*} + ret_want=${c/*|} + ret_got=$(CHOST=${CHOST} "$0") + + if [[ ${ret_want} == "${ret_got}" ]] ; then + echo "PASS: ${CHOST}" + else + echo "FAIL: ${CHOST}" + echo -e "\twanted: ${ret_want}" + echo -e "\twe got: ${ret_got}" + fi + done + exit 0 +fi +[[ -z ${CHOST} && -n $1 ]] && CHOST=$1 + + +# Detect the operating system +case ${CHOST} in + *-aix*) system="aix";; + *-darwin*) system="darwin";; + *-freebsd*) system="BSD";; + *-hpux*) system="hpux";; + *-linux*) system="linux";; + *-solaris*) system="solaris";; + *-winnt*) system="winnt";; + x86_64-*-mingw*) system="mingw64";; + *mingw*) system="mingw";; + *) exit 0;; +esac + + +# Compiler munging +compiler="gcc" +if [[ ${CC} == "ccc" ]] ; then + compiler=${CC} +fi + + +# Detect target arch +machine="" +chost_machine=${CHOST%%-*} +case ${system} in +linux) + case ${chost_machine}:${ABI} in + aarch64*be*) machine="aarch64 -DB_ENDIAN";; + aarch64*) machine="aarch64 -DL_ENDIAN";; + alphaev56*|\ + alphaev[678]*)machine=alpha+bwx-${compiler};; + alpha*) machine=alpha-${compiler};; + armv[4-9]*b*) machine="armv4 -DB_ENDIAN";; + armv[4-9]*) machine="armv4 -DL_ENDIAN";; + arm*b*) machine="generic32 -DB_ENDIAN";; + arm*) machine="generic32 -DL_ENDIAN";; + avr*) machine="generic32 -DL_ENDIAN";; + bfin*) machine="generic32 -DL_ENDIAN";; + # hppa64*) machine=parisc64;; + hppa*) machine="generic32 -DB_ENDIAN";; + i[0-9]86*|\ + x86_64*:x86) machine=elf;; + ia64*) machine=ia64;; + m68*) machine="generic32 -DB_ENDIAN";; + mips*el*) machine="generic32 -DL_ENDIAN";; + mips*) machine="generic32 -DB_ENDIAN";; + powerpc64*le*)machine=ppc64le;; + powerpc64*) machine=ppc64;; + powerpc*le*) machine="generic32 -DL_ENDIAN";; + powerpc*) machine=ppc;; + riscv32*) machine="generic32 -DL_ENDIAN";; + riscv64*) machine="generic64 -DL_ENDIAN";; + # sh64*) machine=elf;; + sh*b*) machine="generic32 -DB_ENDIAN";; + sh*) machine="generic32 -DL_ENDIAN";; + # TODO: Might want to do -mcpu probing like glibc to determine a + # better default for sparc-linux-gnu targets. This logic will + # break v7 and older systems when they use it. + sparc*v7*) machine="generic32 -DB_ENDIAN";; + sparc64*) machine=sparcv9 system=linux64;; + sparc*v9*) machine=sparcv9;; + sparc*v8*) machine=sparcv8;; + sparc*) machine=sparcv8;; + s390x*) machine=s390x system=linux64;; + s390*) machine="generic32 -DB_ENDIAN";; + x86_64*:x32) machine=x32;; + x86_64*) machine=x86_64;; + esac + ;; +BSD) + case ${chost_machine} in + alpha*) machine=generic64;; + i[6-9]86*) machine=x86-elf;; + ia64*) machine=ia64;; + sparc64*) machine=sparc64;; + x86_64*) machine=x86_64;; + *) machine=generic32;; + esac + ;; +aix) + machine=${compiler} + ;; +darwin) + case ${chost_machine} in + powerpc64) machine=ppc-cc; system=${system}64;; + powerpc) machine=ppc-cc;; + i?86*) machine=i386-cc;; + x86_64) machine=x86_64-cc; system=${system}64;; + esac + ;; +hpux) + case ${chost_machine} in + ia64) machine=ia64-${compiler} ;; + esac + ;; +solaris) + case ${chost_machine} in + i386) machine=x86-${compiler} ;; + x86_64*) machine=x86_64-${compiler}; system=${system}64;; + sparcv9*) machine=sparcv9-${compiler}; system=${system}64;; + sparc*) machine=sparcv8-${compiler};; + esac + ;; +winnt) + machine=parity + ;; +mingw*) + # special case ... no xxx-yyy style name + echo ${system} + ;; +esac + + +# If we have something, show it +[[ -n ${machine} ]] && echo ${system}-${machine} diff --git a/net-analyzer/sslscan/files/sslscan-2.2.0-use-distfile-openssl.patch b/net-analyzer/sslscan/files/sslscan-2.2.0-use-distfile-openssl.patch new file mode 100644 index 000000000000..b4f4836cbc5e --- /dev/null +++ b/net-analyzer/sslscan/files/sslscan-2.2.0-use-distfile-openssl.patch @@ -0,0 +1,18 @@ +--- a/Makefile 2025-06-17 07:59:35.185135080 +0200 ++++ b/Makefile 2025-06-17 08:00:23.657589676 +0200 +@@ -141,14 +141,7 @@ + @true + + opensslpull: +- upstream=`git ls-remote https://github.com/openssl/openssl | grep -Eo '(openssl-3\.5\.[0-9]+)' | sort -V | tail -n 1` ; \ +- if [ -d openssl -a -d openssl/.git ]; then \ +- if [ "$$upstream" != "`cd ./openssl && git describe --exact-match --tags`" ]; then \ +- cd ./openssl && git fetch --depth 1 origin refs/tags/$$upstream:refs/tags/$$upstream && git checkout $$upstream && touch ../.openssl.is.fresh ; \ +- fi \ +- else \ +- git clone --depth 1 -b $$upstream https://github.com/openssl/openssl ./openssl && cd ./openssl && touch ../.openssl.is.fresh ; \ +- fi ++ @true + + openssl/Makefile: .openssl.is.fresh + cd ./openssl; ./Configure -v -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC no-shared enable-weak-ssl-ciphers zlib diff --git a/net-analyzer/sslscan/files/sslscan-2.2.1-respect-makej.patch b/net-analyzer/sslscan/files/sslscan-2.2.1-respect-makej.patch new file mode 100644 index 000000000000..bbe8140463ce --- /dev/null +++ b/net-analyzer/sslscan/files/sslscan-2.2.1-respect-makej.patch @@ -0,0 +1,43 @@ +--- a/Makefile ++++ b/Makefile +@@ -92,14 +92,16 @@ + CFLAGS += -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include/openssl -I/usr/local/opt/openssl/include -I/opt/local/include -I/opt/local/include/openssl + endif + +-# Find the number of processors on the system (used in -j option in building OpenSSL). ++# If -j wasn't passed to make, find the number of processors on the system. + # Uses /usr/bin/nproc if available, otherwise defaults to 1. +-NUM_PROCS = 1 +-ifneq (,$(wildcard /usr/bin/nproc)) +- NUM_PROCS = `/usr/bin/nproc --all` +-endif +-ifeq ($(OS), Darwin) +- NUM_PROCS = `sysctl -n hw.ncpu` ++ifeq (,$(findstring -j,$(MAKEFLAGS))) ++ JOBS_ARG = -j1 ++ ifneq (,$(wildcard /usr/bin/nproc)) ++ JOBS_ARG = -j`/usr/bin/nproc --all` ++ endif ++ ifeq ($(OS), Darwin) ++ JOBS_ARG = -j`sysctl -n hw.ncpu` ++ endif + endif + + .PHONY: all sslscan clean realclean install uninstall static opensslpull +@@ -147,12 +149,12 @@ + cd ./openssl; ./Configure -v -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC no-shared enable-weak-ssl-ciphers zlib + + openssl/libcrypto.a: openssl/Makefile +- $(MAKE) -j $(NUM_PROCS) -C openssl depend +- $(MAKE) -j $(NUM_PROCS) -C openssl build_libs +-# $(MAKE) -j $(NUM_PROCS) -C openssl test # Disabled because this takes 45+ minutes for OpenSSL v1.1.1. ++ $(MAKE) $(JOBS_ARG) -C openssl depend ++ $(MAKE) $(JOBS_ARG) -C openssl build_libs ++# $(MAKE) $(JOBS_ARG) -C openssl test # Disabled because this takes 45+ minutes for OpenSSL v1.1.1. + + static: openssl/libcrypto.a +- $(MAKE) -j $(NUM_PROCS) sslscan STATIC_BUILD=TRUE ++ $(MAKE) $(JOBS_ARG) sslscan STATIC_BUILD=TRUE + + docker: + docker build -t sslscan:sslscan . diff --git a/net-analyzer/sslscan/metadata.xml b/net-analyzer/sslscan/metadata.xml new file mode 100644 index 000000000000..ae2d62efbed5 --- /dev/null +++ b/net-analyzer/sslscan/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>hlein@korelogic.com</email> + <name>Hank Leininger</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sslscan/sslscan-2.2.0.ebuild b/net-analyzer/sslscan/sslscan-2.2.0.ebuild new file mode 100644 index 000000000000..fb4a3fa23a5c --- /dev/null +++ b/net-analyzer/sslscan/sslscan-2.2.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +# sslscan builds against a static openssl library to allow weak ciphers +# to be enabled so that they can be tested. +OPENSSL_RELEASE_TAG="openssl-3.5.0" + +DESCRIPTION="Fast SSL configuration scanner" +HOMEPAGE="https://github.com/rbsec/sslscan" +SRC_URI="https://github.com/rbsec/sslscan/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/openssl/openssl/archive/${OPENSSL_RELEASE_TAG}.tar.gz -> ${PN}-${OPENSSL_RELEASE_TAG}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64 x86" + +# Requires a docker environment +RESTRICT="test" + +PATCHES=( "${FILESDIR}/${P}-use-distfile-openssl.patch" ) + +# S="${WORKDIR}/${P}-${MY_FORK}" + +src_prepare() { + ln -s ../openssl-${OPENSSL_RELEASE_TAG} openssl || die + touch .openssl_is_fresh || die + + # Copied from dev-libs/openssl + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die + chmod a+rx gentoo.config || die + + default +} + +src_configure() { + # Copied from dev-libs/openssl + unset APPS #197996 + unset SCRIPTS #312551 + unset CROSS_COMPILE #311473 + + tc-export CC AR RANLIB RC + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout:-(openssl knows best)}" + local config="Configure" + [[ -z ${sslout} ]] && config="config" + + # Clean out hardcoded flags that openssl uses + local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \ + -e 's:^CFLAGS=::' \ + -e 's:\(^\| \)-fomit-frame-pointer::g' \ + -e 's:\(^\| \)-O[^ ]*::g' \ + -e 's:\(^\| \)-march=[^ ]*::g' \ + -e 's:\(^\| \)-mcpu=[^ ]*::g' \ + -e 's:\(^\| \)-m[^ ]*::g' \ + -e 's:^ *::' \ + -e 's: *$::' \ + -e 's: \+: :g' \ + -e 's:\\:\\\\:g' + ) + + # Now insert clean default flags with user flags + sed -i \ + -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \ + -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \ + Makefile || die +} + +src_compile() { + emake static +} + +src_install() { + DESTDIR="${D}" emake install + + dodoc Changelog README.md +} diff --git a/net-analyzer/sslscan/sslscan-2.2.1-r1.ebuild b/net-analyzer/sslscan/sslscan-2.2.1-r1.ebuild new file mode 100644 index 000000000000..338fb943628c --- /dev/null +++ b/net-analyzer/sslscan/sslscan-2.2.1-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +# sslscan builds against a static openssl library to allow weak ciphers +# to be enabled so that they can be tested. +OPENSSL_RELEASE_TAG="openssl-3.5.0" + +DESCRIPTION="Fast SSL configuration scanner" +HOMEPAGE="https://github.com/rbsec/sslscan" +SRC_URI="https://github.com/rbsec/sslscan/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/openssl/openssl/archive/${OPENSSL_RELEASE_TAG}.tar.gz -> ${PN}-${OPENSSL_RELEASE_TAG}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +# Requires a docker environment +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-2.2.0-use-distfile-openssl.patch" + "${FILESDIR}/${PN}-2.2.1-respect-makej.patch" +) + +src_prepare() { + ln -s ../openssl-${OPENSSL_RELEASE_TAG} openssl || die + touch .openssl_is_fresh || die + + # Copied from dev-libs/openssl + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die + chmod a+rx gentoo.config || die + + default +} + +src_configure() { + # Copied from dev-libs/openssl + unset APPS #197996 + unset SCRIPTS #312551 + unset CROSS_COMPILE #311473 + + tc-export CC AR RANLIB RC + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout:-(openssl knows best)}" + local config="Configure" + [[ -z ${sslout} ]] && config="config" + + # Clean out hardcoded flags that openssl uses + local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \ + -e 's:^CFLAGS=::' \ + -e 's:\(^\| \)-fomit-frame-pointer::g' \ + -e 's:\(^\| \)-O[^ ]*::g' \ + -e 's:\(^\| \)-march=[^ ]*::g' \ + -e 's:\(^\| \)-mcpu=[^ ]*::g' \ + -e 's:\(^\| \)-m[^ ]*::g' \ + -e 's:^ *::' \ + -e 's: *$::' \ + -e 's: \+: :g' \ + -e 's:\\:\\\\:g' + ) + + # Now insert clean default flags with user flags + sed -i \ + -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \ + -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \ + Makefile || die +} + +src_compile() { + emake static +} + +src_install() { + DESTDIR="${D}" emake install + + dodoc Changelog README.md +} diff --git a/net-analyzer/sslscan/sslscan-2.2.1.ebuild b/net-analyzer/sslscan/sslscan-2.2.1.ebuild new file mode 100644 index 000000000000..9a65891fcfe6 --- /dev/null +++ b/net-analyzer/sslscan/sslscan-2.2.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +# sslscan builds against a static openssl library to allow weak ciphers +# to be enabled so that they can be tested. +OPENSSL_RELEASE_TAG="openssl-3.5.0" + +DESCRIPTION="Fast SSL configuration scanner" +HOMEPAGE="https://github.com/rbsec/sslscan" +SRC_URI="https://github.com/rbsec/sslscan/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/openssl/openssl/archive/${OPENSSL_RELEASE_TAG}.tar.gz -> ${PN}-${OPENSSL_RELEASE_TAG}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +# Requires a docker environment +RESTRICT="test" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-use-distfile-openssl.patch" ) + +src_prepare() { + ln -s ../openssl-${OPENSSL_RELEASE_TAG} openssl || die + touch .openssl_is_fresh || die + + # Copied from dev-libs/openssl + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die + chmod a+rx gentoo.config || die + + default +} + +src_configure() { + # Copied from dev-libs/openssl + unset APPS #197996 + unset SCRIPTS #312551 + unset CROSS_COMPILE #311473 + + tc-export CC AR RANLIB RC + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout:-(openssl knows best)}" + local config="Configure" + [[ -z ${sslout} ]] && config="config" + + # Clean out hardcoded flags that openssl uses + local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \ + -e 's:^CFLAGS=::' \ + -e 's:\(^\| \)-fomit-frame-pointer::g' \ + -e 's:\(^\| \)-O[^ ]*::g' \ + -e 's:\(^\| \)-march=[^ ]*::g' \ + -e 's:\(^\| \)-mcpu=[^ ]*::g' \ + -e 's:\(^\| \)-m[^ ]*::g' \ + -e 's:^ *::' \ + -e 's: *$::' \ + -e 's: \+: :g' \ + -e 's:\\:\\\\:g' + ) + + # Now insert clean default flags with user flags + sed -i \ + -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \ + -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \ + Makefile || die +} + +src_compile() { + emake static +} + +src_install() { + DESTDIR="${D}" emake install + + dodoc Changelog README.md +} diff --git a/net-analyzer/sslsplit/Manifest b/net-analyzer/sslsplit/Manifest new file mode 100644 index 000000000000..99d65e3f8129 --- /dev/null +++ b/net-analyzer/sslsplit/Manifest @@ -0,0 +1 @@ +DIST sslsplit-0.5.5.tar.gz 1846850 BLAKE2B b223491c480070dd9718804f0ceb8fec9fe519cf0d189fd9bf9cc4dce5ae00d93227dca42349b42d2b82c62d0d92c451442670f6eae2f8d2beedef437907299b SHA512 f236f1ccce8bdb4a09659551defd73b73fbf660ceedace6ffbbb687c1de4488f74a23274b53a67e7001dfcdbd0ede7270ba8261feab633a25ae9f57cce468f39 diff --git a/net-analyzer/sslsplit/files/sslsplit-0.5.5-libcrypto-pkgconfig.patch b/net-analyzer/sslsplit/files/sslsplit-0.5.5-libcrypto-pkgconfig.patch new file mode 100644 index 000000000000..dd6ae812efb6 --- /dev/null +++ b/net-analyzer/sslsplit/files/sslsplit-0.5.5-libcrypto-pkgconfig.patch @@ -0,0 +1,23 @@ +Use pkgconfig for localization of libcrypto. This is needed for tests in +multilib systems. + +diff --git a/extra/engine/GNUmakefile b/extra/engine/GNUmakefile +index b50717b..3712ad6 100644 +--- a/extra/engine/GNUmakefile ++++ b/extra/engine/GNUmakefile +@@ -16,9 +16,9 @@ else + SUFFIX:= so + endif + +-CFLAGS+= -fPIC -I$(OPENSSL_BASE)/include +-LDFLAGS+= -L$(OPENSSL_BASE)/lib +-LIBS+= -lcrypto ++CFLAGS+= -fPIC $(shell pkg-config --cflags libcrypto) ++LDFLAGS+= $(shell pkg-config --libs-only-L libcrypto) ++LIBS+= $(shell pkg-config --libs-only-l libcrypto) + + TARGET= dummy-engine + +-- +2.35.1 + diff --git a/net-analyzer/sslsplit/files/sslsplit-0.5.5-libnet-pkgconfig.patch b/net-analyzer/sslsplit/files/sslsplit-0.5.5-libnet-pkgconfig.patch new file mode 100644 index 000000000000..5eebf8d4deaf --- /dev/null +++ b/net-analyzer/sslsplit/files/sslsplit-0.5.5-libnet-pkgconfig.patch @@ -0,0 +1,40 @@ +Subject: [PATCH] locate libnet with pkgconfig + +This is partially reverted from upstream commit 46a55de8040a ("Refactor +location of packages, improve libnet detection") + +diff --git a/GNUmakefile b/GNUmakefile +index cc7197e..2343272 100644 +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -277,6 +277,10 @@ PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libevent_openssl \ + PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libevent_pthreads \ + && echo libevent_pthreads) + endif ++ifndef LIBNET_BASE ++PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libnet \ ++ && echo libnet) ++endif + ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR) + ifndef LIBPCAP_BASE + PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libpcap \ +@@ -333,7 +337,7 @@ CHECK_MISSING:= 1 + endif + endif + +-# Always search filesystem for libnet because libnet-config is unreliable ++ifeq (,$(filter libnet,$(PKGS))) + ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR) + LIBNET_FOUND:= $(call locate,libnet,include/libnet-1.1/libnet.h,$(LIBNET_BASE)) + ifdef LIBNET_FOUND +@@ -347,6 +351,7 @@ $(error dependency 'libnet' not found; \ + install it or point LIBNET_BASE to base path) + endif + endif ++endif + + ifdef OPENSSL_FOUND + PKG_CPPFLAGS+= -I$(OPENSSL_FOUND)/include +-- +2.35.1 + diff --git a/net-analyzer/sslsplit/files/sslsplit-0.5.5-openssl3.patch b/net-analyzer/sslsplit/files/sslsplit-0.5.5-openssl3.patch new file mode 100644 index 000000000000..10807bee3899 --- /dev/null +++ b/net-analyzer/sslsplit/files/sslsplit-0.5.5-openssl3.patch @@ -0,0 +1,31 @@ +From: Soner Tari <sonertari@gmail.com> +Date: Fri, 4 Feb 2022 19:46:58 +0300 +Subject: [PATCH] Fix build errors with OpenSSL 3.0.x, but not deprecation + warnings, issue #290 + +This patch fixes errors only, so that build succeeds, but deprecation +warnings remain. It seems we need considerable changes to replace those +deprecated functions in the warnings. +--- + +Upstream-commit: e17de8454a65 ("Fix build errors with OpenSSL 3.0.x, but not deprecation warnings, issue #290") +Upstream-issue: https://github.com/droe/sslsplit/issues/290 + +diff --git a/pxyconn.c b/pxyconn.c +index e69de20..09a8b80 100644 +--- a/pxyconn.c ++++ b/pxyconn.c +@@ -72,6 +72,10 @@ bufferevent_openssl_set_allow_dirty_shutdown(UNUSED struct bufferevent *bev, + } + #endif /* LIBEVENT_VERSION_NUMBER < 0x02010000 */ + ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++#define ERR_GET_FUNC(x) 0 ++#define ERR_func_error_string(x) "" ++#endif + + /* + * Maximum size of data to buffer per connection direction before +-- +2.35.1 + diff --git a/net-analyzer/sslsplit/metadata.xml b/net-analyzer/sslsplit/metadata.xml new file mode 100644 index 000000000000..c3a2f6f1b3c9 --- /dev/null +++ b/net-analyzer/sslsplit/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>arkamar@gentoo.org</email> + <name>Petr VanÄ›k</name> + </maintainer> + <longdescription lang="en"> + SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS + encrypted network connections. It is intended to be useful for network + forensics, application security analysis and penetration testing. + </longdescription> + <upstream> + <maintainer status="active"> + <email>daniel@roe.ch</email> + <name>Daniel Roethlisberger</name> + </maintainer> + <bugs-to>https://github.com/droe/sslsplit/issues</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/sslsplit/sslsplit-0.5.5-r1.ebuild b/net-analyzer/sslsplit/sslsplit-0.5.5-r1.ebuild new file mode 100644 index 000000000000..bd815603e0c1 --- /dev/null +++ b/net-analyzer/sslsplit/sslsplit-0.5.5-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic + +DESCRIPTION="Transparent SSL/TLS interception" +HOMEPAGE=" + https://www.roe.ch/SSLsplit + https://github.com/droe/sslsplit +" + +LICENSE="BSD-2" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/droe/${PN}" + EGIT_BRANCH="develop" +else + SRC_URI="https://github.com/droe/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +RDEPEND=" + dev-libs/libevent:=[ssl,threads(+)] + dev-libs/openssl:0= + net-libs/libnet:1.1 + net-libs/libpcap + elibc_musl? ( sys-libs/fts-standalone )" +DEPEND="${RDEPEND} + test? ( dev-libs/check )" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-openssl3.patch" + "${FILESDIR}/${P}-libnet-pkgconfig.patch" + "${FILESDIR}/${P}-libcrypto-pkgconfig.patch" +) + +src_prepare() { + default + + use elibc_musl && append-libs "-lfts" + + sed -i -e 's/-D_FORTIFY_SOURCE=2 //g' \ + -e 's/\<FEATURES\>/SSLSPLIT_FEATURES/g' GNUmakefile || die + sed -i '/opts_suite/d' main.t.c || die +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" SYSCONFDIR="${EPREFIX}/etc" install + dodoc AUTHORS.md NEWS.md README.md +} diff --git a/net-analyzer/ssmping/Manifest b/net-analyzer/ssmping/Manifest new file mode 100644 index 000000000000..852881e4703c --- /dev/null +++ b/net-analyzer/ssmping/Manifest @@ -0,0 +1 @@ +DIST ssmping-0.9.1.tar.gz 16863 BLAKE2B f3ebb2940197feb8f280369d3d217c8335c64265e001d24b6e75b10dff5df0fced29b005267eb57abfd8b6aa41c2071aba69a766a85877aefe3c765134ae1454 SHA512 7929b43867f29ac7f93298820149fd326d8540187a59e4f28f226e1c0dbfcdc60dc3da437de250e4082a2d6bd845ae9e619bf3b592b824dd8d529bf093cdedff diff --git a/net-analyzer/ssmping/files/ssmping-0.9-build.patch b/net-analyzer/ssmping/files/ssmping-0.9-build.patch new file mode 100644 index 000000000000..586819ca0dd5 --- /dev/null +++ b/net-analyzer/ssmping/files/ssmping-0.9-build.patch @@ -0,0 +1,23 @@ +fixup build errors/warnings + +http://bugs.gentoo.org/240750 + +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,5 @@ + PREFIX ?= /usr/local ++CPPFLAGS += -D_GNU_SOURCE + + all: ssmping asmping ssmpingd mcfirst + +--- a/ssmping.c ++++ b/ssmping.c +@@ -22,7 +22,7 @@ + uint16_t size; + uint32_t intface; + struct sockaddr_storage name, ucaddr, mcaddr, grpaddr; +- size_t namelen; ++ socklen_t namelen; + #ifdef WIN32 + WORD wVersionRequested; + WSADATA wsaData; diff --git a/net-analyzer/ssmping/metadata.xml b/net-analyzer/ssmping/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ssmping/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ssmping/ssmping-0.9.1.ebuild b/net-analyzer/ssmping/ssmping-0.9.1.ebuild new file mode 100644 index 000000000000..13fb78913e09 --- /dev/null +++ b/net-analyzer/ssmping/ssmping-0.9.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Tool for testing multicast connectivity" +HOMEPAGE="http://www.venaas.no/multicast/ssmping/" +SRC_URI="http://www.venaas.no/multicast/ssmping/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="amd64 ~riscv x86" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9-build.patch +) + +src_prepare() { + default + tc-export CC +} + +src_install() { + dobin ssmping asmping mcfirst + dosbin ssmpingd + doman ssmping.1 asmping.1 mcfirst.1 +} diff --git a/net-analyzer/suricata/Manifest b/net-analyzer/suricata/Manifest new file mode 100644 index 000000000000..4ee77f8337b9 --- /dev/null +++ b/net-analyzer/suricata/Manifest @@ -0,0 +1,2 @@ +DIST suricata-7.0.15.tar.gz 22924598 BLAKE2B 4249e2621315da9e201556db2e7675c403110fdf8a7ee8698bc82fc06c8495d9b969e57a0d07496178c278f7fb5aee78963e7cc72a6a3d2b7e84387f52f395c3 SHA512 04ca4777c7da80445a69e55baccbec08a7f689bea9c3b57465cd707c59215d4efebbd9c291ceee9518b43355a02d8020a7fa92d6c2e80b7083a4dde58d244000 +DIST suricata-7.0.15.tar.gz.sig 566 BLAKE2B 29649ba355573182642869a2cd5839f59297a3762b8a6ce57ac31425e50473770a0187b7b0423003c051e6b514958438c28f81c93c4fda1bbce4903c4aa39ea1 SHA512 ae273a91fa4bcd00be9abde9e36003f424406c88270af804f6f586a75c255e27e7c91efedfc7f002830d0038f97f8b48e5246c68dbd80aa187f6b01e43e2757c diff --git a/net-analyzer/suricata/files/suricata-5.0.1_configure-no-lz4-automagic.patch b/net-analyzer/suricata/files/suricata-5.0.1_configure-no-lz4-automagic.patch new file mode 100644 index 000000000000..5efce46f6d9f --- /dev/null +++ b/net-analyzer/suricata/files/suricata-5.0.1_configure-no-lz4-automagic.patch @@ -0,0 +1,23 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2292,7 +2292,11 @@ + fi + + # Check for lz4 +-enable_liblz4="yes" ++AC_ARG_ENABLE(lz4, ++ AS_HELP_STRING([--enable-lz4], [Enable compressed pcap logging using liblz4]), ++ [enable_liblz4=$enableval], ++ [enable_liblz4=yes]) ++if test "x$enable_liblz4" != "xno"; then + AC_CHECK_LIB(lz4, LZ4F_createCompressionContext, , enable_liblz4="no") + + if test "$enable_liblz4" = "no"; then +@@ -2306,6 +2310,7 @@ + echo " yum install lz4-devel" + echo + fi ++fi + + # get cache line size + AC_PATH_PROG(HAVE_GETCONF_CMD, getconf, "no") diff --git a/net-analyzer/suricata/files/suricata-5.0.7_configure-no-hyperscan-automagic.patch b/net-analyzer/suricata/files/suricata-5.0.7_configure-no-hyperscan-automagic.patch new file mode 100644 index 000000000000..69a857408eee --- /dev/null +++ b/net-analyzer/suricata/files/suricata-5.0.7_configure-no-hyperscan-automagic.patch @@ -0,0 +1,24 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -729,8 +729,11 @@ + fi + + # libhs +- enable_hyperscan="no" +- ++ AC_ARG_ENABLE(hyperscan, ++ AS_HELP_STRING([--enable-hyperscan], [Enable high-performance regex matching with hyperscan]), ++ [enable_hyperscan=$enableval], ++ [enable_hyperscan=no]) ++ if test "x$enable_hyperscan" != "xno"; then + # Try pkg-config first: + PKG_CHECK_MODULES([libhs], libhs,, [with_pkgconfig_libhs=no]) + if test "$with_pkgconfig_libhs" != "no"; then +@@ -765,6 +768,7 @@ + enable_hyperscan="no" + fi + fi ++ fi + AS_IF([test "x$enable_hyperscan" = "xyes"], [AC_DEFINE([BUILD_HYPERSCAN], [1], [Intel Hyperscan support enabled])]) + + # libyaml diff --git a/net-analyzer/suricata/files/suricata-6.0.0_default-config.patch b/net-analyzer/suricata/files/suricata-6.0.0_default-config.patch new file mode 100644 index 000000000000..03e0f1cda944 --- /dev/null +++ b/net-analyzer/suricata/files/suricata-6.0.0_default-config.patch @@ -0,0 +1,27 @@ +--- a/suricata.yaml.in ++++ b/suricata.yaml.in +@@ -209,8 +209,9 @@ + # https://suricata.readthedocs.io/en/latest/output/eve/eve-json-output.html#dns-v1-format + + # As of Suricata 5.0, version 2 of the eve dns output +- # format is the default. +- #version: 2 ++ # format is the default - but the daemon produces a warning to that effect ++ # at start-up if this isn't explicitly set. ++ version: 2 + + # Enable/disable this logger. Default: enabled. + #enabled: yes +@@ -988,9 +989,9 @@ + ## + + # Run Suricata with a specific user-id and group-id: +-#run-as: +-# user: suri +-# group: suri ++run-as: ++ user: suricata ++ group: suricata + + # Some logging modules will use that name in event as identifier. The default + # value is the hostname diff --git a/net-analyzer/suricata/files/suricata-7.0.2_configure-no-sphinx-pdflatex-automagic.patch b/net-analyzer/suricata/files/suricata-7.0.2_configure-no-sphinx-pdflatex-automagic.patch new file mode 100644 index 000000000000..07fddac0a6d2 --- /dev/null +++ b/net-analyzer/suricata/files/suricata-7.0.2_configure-no-sphinx-pdflatex-automagic.patch @@ -0,0 +1,20 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2231,7 +2231,7 @@ + fi + + # sphinx-build for documentation, and also check for a new enough version +- AC_PATH_PROG([SPHINX_BUILD], [sphinx-build], [no]) ++ SPHINX_BUILD="no" + if test "$SPHINX_BUILD" != "no"; then + MIN_SPHINX_BUILD_VERSION="3.4.3" + sphinx_build_version=$($SPHINX_BUILD --version 2>&1 | cut -d' ' -f2-) +@@ -2257,7 +2257,7 @@ + AM_CONDITIONAL([HAVE_SURICATA_MAN], [test "x$have_suricata_man" = "xyes"]) + + # pdflatex for the pdf version of the user manual +- AC_PATH_PROG(HAVE_PDFLATEX, pdflatex, "no") ++ HAVE_PDFLATEX="no" + if test "$HAVE_PDFLATEX" = "no"; then + enable_pdflatex=no + fi diff --git a/net-analyzer/suricata/files/suricata-7.0.5_configure-fortify_source.patch b/net-analyzer/suricata/files/suricata-7.0.5_configure-fortify_source.patch new file mode 100644 index 000000000000..302f9bb382f3 --- /dev/null +++ b/net-analyzer/suricata/files/suricata-7.0.5_configure-fortify_source.patch @@ -0,0 +1,18 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -339,15 +339,6 @@ + [AC_MSG_RESULT(no)]) + CFLAGS="${TMPCFLAGS}" + +- #compile-time best-practices errors for certain libc functions, provides checks of buffer lengths and memory regions +- AC_MSG_CHECKING(for -D_FORTIFY_SOURCE=2) +- TMPCFLAGS="${CFLAGS}" +- CFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=2" +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[SECCFLAGS="${SECCFLAGS} -D_FORTIFY_SOURCE=2" +- AC_MSG_RESULT(yes)], +- [AC_MSG_RESULT(no)]) +- CFLAGS="${TMPCFLAGS}" +- + #compile-time warnings about misuse of format strings + AC_MSG_CHECKING(for -Wformat -Wformat-security) + TMPCFLAGS="${CFLAGS}" diff --git a/net-analyzer/suricata/files/suricata.confd b/net-analyzer/suricata/files/suricata.confd new file mode 100644 index 000000000000..7f22113dbf0d --- /dev/null +++ b/net-analyzer/suricata/files/suricata.confd @@ -0,0 +1,62 @@ +# Config file for /etc/init.d/suricata* + +# Where config files are stored. Default: + +# SURICATA_DIR="/etc/suricata" + +# Pass options to each suricata service. +# +# You can launch more than one service at the same time with different options. +# This can be useful in a multi-queue gateway, for example. +# You can expand on the Suricata inline example found at: +# http://suricata.readthedocs.io/en/latest/setting-up-ipsinline-for-linux.html +# Instead of configuring iptables to send traffic to just one queue, you can configure it to "load balance" +# on several queues. You can then have a Suricata instance processing traffic for each queue. +# This should help improve performance on the gateway/firewall. +# +# Suppose you configured iptables to use queues 0 and 1 named q0 and q1. You can now do the following: +# ln -s /etc/init.d/suricata /etc/init.d/suricata.q0 +# ln -s /etc/init.d/suricata /etc/init.d/suricata.q1 +# cp /etc/suricata/suricata.yaml /etc/suricata/suricata-q0.yaml +# cp /etc/suricata/suricata.yaml /etc/suricata/suricata-q1.yaml +# +# Edit both suricata-q{0,1}.yaml files and set values accordingly. +# You can override these yaml config file names with SURICATA_CONF* below (optional). +# This allows you to use the same yaml config file for multiple instances as long as you override +# sensible options such as the log file paths. +# SURICATA_CONF_q0="suricata-queues.yaml" +# SURICATA_CONF_q1="suricata-queues.yaml" +# SURICATA_CONF="suricata.yaml" + +# You can define the options here: +# NB: avoid using -l, -c, --user, --group and setting logging.outputs.1.file.filename as the init script will try to set them for you. + +# SURICATA_OPTS_q0="-q 0" +# SURICATA_OPTS_q1="-q 1" + +# If you want to use ${SURICATA_DIR}/suricata.yaml and start the service with /etc/init.d/suricata +# then you can set: + +SURICATA_OPTS="--af-packet" + +# Log paths listed here will be created by the init script and will override the log path +# set in the yaml file, if present. +# SURICATA_LOG_FILE_q0="/var/log/suricata/q0/suricata.log" +# SURICATA_LOG_FILE_q1="/var/log/suricata/q1/suricata.log" +# SURICATA_LOG_FILE="/var/log/suricata/suricata.log" + +# Run as user/group. +# Do not define if you want to run as root or as the user defined in the yaml config file (run-as). +# The ebuild should have created the dedicated user/group suricata:suricata for you to specify here below. +# SURICATA_USER_q0="suricata" +# SURICATA_GROUP_q0="suricata" +# SURICATA_USER_q1="suricata" +# SURICATA_GROUP_q1="suricata" +# SURICATA_USER="suricata" +# SURICATA_GROUP="suricata" + +# Suricata processes can take a long time to shut down. +# If necessary, adjust timeout in seconds to be used when calling stop from the init script. +# Examples: +# SURICATA_MAX_WAIT_ON_STOP="300" +# SURICATA_MAX_WAIT_ON_STOP="SIGTERM/30" diff --git a/net-analyzer/suricata/files/suricata.initd b/net-analyzer/suricata/files/suricata.initd new file mode 100644 index 000000000000..154636ef828e --- /dev/null +++ b/net-analyzer/suricata/files/suricata.initd @@ -0,0 +1,147 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +SURICATA_BIN=/usr/bin/suricata +SURICATA_DIR=${SURICATA_DIR:-/etc/suricata} +SURICATA=${SVCNAME#*.} +SURICATAID=$(shell_var "${SURICATA}") +if [ -n "${SURICATA}" ] && [ ${SVCNAME} != "suricata" ]; then + eval SURICATACONF=\$SURICATA_CONF_${SURICATAID} + [ ${#SURICATACONF} -eq 0 ] && SURICATACONF="${SURICATA_DIR}/suricata-${SURICATA}.yaml" || SURICATACONF="${SURICATA_DIR}/${SURICATACONF}" + SURICATAPID="/run/suricata/suricata.${SURICATA}.pid" + eval SURICATAOPTS=\$SURICATA_OPTS_${SURICATAID} + eval SURICATALOGPATH=\$SURICATA_LOG_FILE_${SURICATAID} + eval SURICATAUSER=\$SURICATA_USER_${SURICATAID} + eval SURICATAGROUP=\$SURICATA_GROUP_${SURICATAID} +else + SURICATACONF=${SURICATA_CONF} + [ ${#SURICATACONF} -eq 0 ] && SURICATACONF="${SURICATA_DIR}/suricata.yaml" || SURICATACONF="${SURICATA_DIR}/${SURICATACONF}" + SURICATAPID="/run/suricata/suricata.pid" + SURICATAOPTS=${SURICATA_OPTS} + SURICATALOGPATH=${SURICATA_LOG_FILE} + SURICATAUSER=${SURICATA_USER} + SURICATAGROUP=${SURICATA_GROUP} +fi +SURICATAUSER=${SURICATAUSER:-${SURICATA_USER}} +SURICATAGROUP=${SURICATAGROUP:-${SURICATA_GROUP}} +[ -e ${SURICATACONF} ] && SURICATAOPTS="-c ${SURICATACONF} ${SURICATAOPTS}" +[ -z "${SURICATA_MAX_WAIT_ON_STOP}" ] || SURICATA_RETRY="--retry ${SURICATA_MAX_WAIT_ON_STOP}" + +description="Suricata IDS/IPS" +extra_commands="checkconfig dump" +description_checkconfig="Check config for ${SVCNAME}" +description_dump="List all config values that can be used with --set" +extra_started_commands="reload relog" +description_reload="Live rule and config reload" +description_relog="Close and re-open all log files" + +depend() { + need net + after mysql + after postgresql +} + +checkconfig() { + if [ ! -d "/run/suricata" ] ; then + checkpath -d /run/suricata + fi + if [ ${#SURICATALOGPATH} -gt 0 ]; then + SURICATALOGFILE=$( basename ${SURICATALOGPATH} ) + SURICATALOGFILE=${SURICATALOGFILE:-suricata.log} + SURICATALOGPATH=$( dirname ${SURICATALOGPATH} ) + if [ ! -d "${SURICATALOGPATH}" ] ; then + checkpath -d "${SURICATALOGPATH}" + fi + if [ ${#SURICATAUSER} -gt 0 ] && [ ${#SURICATAGROUP} -gt 0 ] && [ -e "${SURICATALOGPATH}" ]; then + chown ${SURICATAUSER}:${SURICATAGROUP} "${SURICATALOGPATH}" || return 1 + chown ${SURICATAUSER}:${SURICATAGROUP} "${SURICATALOGPATH}"/* >/dev/null 2>&1 3>&1 + fi + SURICATAOPTS="${SURICATAOPTS} --set logging.outputs.1.file.filename=${SURICATALOGPATH}/${SURICATALOGFILE}" + SURICATALOGPATH="-l ${SURICATALOGPATH}" + fi + if [ ! -e ${SURICATACONF} ] ; then + einfo "The configuration file ${SURICATACONF} was not found." + einfo "If this is OK then make sure you set enough options for ${SVCNAME} in /etc/conf.d/suricata." + einfo "Take a look at the suricata arguments --set and --dump-config." + fi + if [ ${#SURICATAUSER} -gt 0 ] && [ ${#SURICATAGROUP} -gt 0 ]; then + einfo "${SVCNAME} will run as user ${SURICATAUSER}:${SURICATAGROUP}." + SURICATAOPTS="${SURICATAOPTS} --user=${SURICATAUSER} --group=${SURICATAGROUP}" + fi +} + +initpidinfo() { + [ -e ${SURICATAPID} ] && SUR_PID="$(cat ${SURICATAPID})" + if [ ${#SUR_PID} -gt 0 ]; then + SUR_PID_CHECK="$(ps -eo pid | grep -c ${SUR_PID})" + SUR_USER="$(ps -p ${SUR_PID} --no-headers -o user)" + fi +} + +checkpidinfo() { + initpidinfo + if [ ! -e ${SURICATAPID} ]; then + eerror "${SVCNAME} isn't running" + return 1 + elif [ ${#SUR_PID} -eq 0 ] || [ $((SUR_PID_CHECK)) -ne 1 ]; then + eerror "Could not determine PID of ${SVCNAME}! Did the service crash?" + return 1 + elif [ ${#SUR_USER} -eq 0 ]; then + eerror "Unable to determine user running ${SVCNAME}!" + return 1 + elif [ "x${SUR_USER}" != "xroot" ]; then + ewarn "${SVCNAME} may need to be running as root or as a priviledged user for the extra commands reload and relog to work." + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --exec ${SURICATA_BIN} \ + -- --pidfile ${SURICATAPID} -D ${SURICATAOPTS} ${SURICATALOGPATH} >/dev/null 2>&1 + local SUR_EXIT=$? + if [ $((SUR_EXIT)) -ne 0 ]; then + einfo "Could not start ${SURICATA_BIN} with:" + einfo "--pidfile ${SURICATAPID} -D ${SURICATAOPTS} ${SURICATALOGPATH}" + einfo "Exit code ${SUR_EXIT}" + fi + eend ${SUR_EXIT} +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop ${SURICATA_RETRY} --quiet --pidfile ${SURICATAPID} >/dev/null 2>&1 + eend $? +} + +reload() { + checkpidinfo || return 1 + checkconfig || return 1 + ebegin "Sending USR2 signal to ${SVCNAME} to perform a live rule and config reload." + if [ ${#SURICATAUSER} -gt 0 ] && [ ${#SURICATAGROUP} -gt 0 ]; then + start-stop-daemon --user ${SURICATAUSER} --group ${SURICATAGROUP} --signal USR2 --pidfile ${SURICATAPID} + else + start-stop-daemon --signal USR2 --pidfile ${SURICATAPID} + fi + eend $? +} + +relog() { + checkpidinfo || return 1 + checkconfig || return 1 + ebegin "Sending HUP signal to ${SVCNAME} to close and re-open all log files." + if [ ${#SURICATAUSER} -gt 0 ] && [ ${#SURICATAGROUP} -gt 0 ]; then + start-stop-daemon --user ${SURICATAUSER} --group ${SURICATAGROUP} --signal HUP --pidfile ${SURICATAPID} + else + start-stop-daemon --signal HUP --pidfile ${SURICATAPID} + fi + eend $? +} + +dump() { + checkconfig || return 1 + ebegin "Dumping ${SVCNAME} config values and quitting." + ${SURICATA_BIN} --dump-config --pidfile ${SURICATAPID} ${SURICATAOPTS} ${SURICATALOGPATH} + eend $? +} diff --git a/net-analyzer/suricata/files/suricata.service b/net-analyzer/suricata/files/suricata.service new file mode 100644 index 000000000000..1fb056957ec5 --- /dev/null +++ b/net-analyzer/suricata/files/suricata.service @@ -0,0 +1,19 @@ +[Unit] +Description=Suricata IDS/IDP daemon +After=network.target +Requires=network.target +Documentation=man:suricata(8) man:suricatasc(8) +Documentation=https://suricata.readthedocs.io/ + +[Service] +Environment=OPTIONS='-c /etc/suricata/suricata.yaml --af-packet' +PIDFile=/run/suricata/suricata.pid +ExecStart=/usr/bin/suricata --pidfile /run/suricata/suricata.pid $OPTIONS +ExecReload=/bin/kill -HUP $MAINPID +ExecStop=/bin/kill $MAINPID +PrivateTmp=yes +ProtectHome=yes + +[Install] +WantedBy=multi-user.target + diff --git a/net-analyzer/suricata/files/suricata.tmpfiles b/net-analyzer/suricata/files/suricata.tmpfiles new file mode 100644 index 000000000000..a6e784cc37c7 --- /dev/null +++ b/net-analyzer/suricata/files/suricata.tmpfiles @@ -0,0 +1 @@ +d /run/suricata - - - - diff --git a/net-analyzer/suricata/metadata.xml b/net-analyzer/suricata/metadata.xml new file mode 100644 index 000000000000..16edbcddd271 --- /dev/null +++ b/net-analyzer/suricata/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="af-packet">Enable AF_PACKET support</flag> + <flag name="bpf">Enable support for eBPF (as well as XDP if supported by the kernel and the NIC driver) + for low-level, high-speed packet processing</flag> + <flag name="control-socket">Enable unix socket</flag> + <flag name="detection">Enable detection modules</flag> + <flag name="hyperscan">Enable high-performance regex matching with Hyperscan</flag> + <flag name="lz4">Enable support for compressed pcap logging using the LZ4 algorithm</flag> + <flag name="nflog">Enable libnetfilter_log support</flag> + <flag name="nfqueue">Enable NFQUEUE support for inline IDP</flag> + <flag name="redis">Enable Redis support</flag> + <flag name="xdp">Enable support for AF_XDP high performance packet processing</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:oisf:suricata</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/suricata/suricata-7.0.15-r1.ebuild b/net-analyzer/suricata/suricata-7.0.15-r1.ebuild new file mode 100644 index 000000000000..118dc54879ca --- /dev/null +++ b/net-analyzer/suricata/suricata-7.0.15-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +RUST_MIN_VER="1.63.0" + +inherit autotools flag-o-matic linux-info lua-single python-single-r1 rust systemd tmpfiles verify-sig + +DESCRIPTION="High performance Network IDS, IPS and Network Security Monitoring engine" +HOMEPAGE="https://suricata.io/" +SRC_URI="https://www.openinfosecfoundation.org/download/${P}.tar.gz + verify-sig? ( https://www.openinfosecfoundation.org/download/${P}.tar.gz.sig )" + +LICENSE="GPL-2" +SLOT="0/7" +KEYWORDS="~amd64 ~riscv ~x86" +IUSE="+af-packet bpf control-socket cuda debug +detection geoip hardened hyperscan lua lz4 nflog +nfqueue redis systemd test xdp" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/openinfosecfoundation.org.asc" + +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + bpf? ( af-packet ) + lua? ( ${LUA_REQUIRED_USE} ) + xdp? ( bpf )" + +RDEPEND="${PYTHON_DEPS} + acct-group/suricata + acct-user/suricata + dev-libs/jansson:= + dev-libs/libpcre2 + dev-libs/libyaml + net-libs/libnet:* + net-libs/libnfnetlink + dev-libs/nspr + dev-libs/nss + $(python_gen_cond_dep ' + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + >=net-libs/libhtp-0.5.53 + net-libs/libpcap + sys-apps/file + sys-libs/libcap-ng + bpf? ( dev-libs/libbpf ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + geoip? ( dev-libs/libmaxminddb:= ) + hyperscan? ( dev-libs/vectorscan:= ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4 ) + nflog? ( net-libs/libnetfilter_log ) + nfqueue? ( net-libs/libnetfilter_queue ) + redis? ( dev-libs/hiredis:= ) + xdp? ( net-libs/xdp-tools )" +DEPEND="${RDEPEND} + >=dev-build/autoconf-2.69-r5 +" +BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-oisf-20260319 )" + +PATCHES=( + "${FILESDIR}/${PN}-5.0.1_configure-no-lz4-automagic.patch" + "${FILESDIR}/${PN}-5.0.7_configure-no-hyperscan-automagic.patch" + "${FILESDIR}/${PN}-6.0.0_default-config.patch" + "${FILESDIR}/${PN}-7.0.2_configure-no-sphinx-pdflatex-automagic.patch" + "${FILESDIR}/${PN}-7.0.5_configure-fortify_source.patch" +) + +pkg_pretend() { + if use bpf && use kernel_linux; then + if kernel_is -lt 4 15; then + ewarn "Kernel 4.15 or newer is necessary to use all XDP features like the CPU redirect map" + fi + + CONFIG_CHECK="~XDP_SOCKETS" + ERROR_XDP_SOCKETS="CONFIG_XDP_SOCKETS is not set, making it impossible for Suricata to load XDP programs. " + ERROR_XDP_SOCKETS+="Other eBPF features should work normally." + check_extra_config + fi + + if use xdp && use kernel_linux; then + if kernel_is -lt 4 18; then + ewarn "Kernel 4.18 or newer is required for AF_XDP" + fi + fi +} + +pkg_setup() { + python-single-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + sed -ie 's/docdir =.*/docdir = ${datarootdir}\/doc\/'${PF}'\//' "${S}/doc/Makefile.am" || die + eautoreconf +} + +src_configure() { + # Bug #861242 + filter-lto + + local myeconfargs=( + "--localstatedir=/var" \ + "--runstatedir=/run" \ + "--enable-non-bundled-htp" \ + "--enable-gccmarch-native=no" \ + "--enable-python" \ + $(use_enable af-packet) \ + $(use_enable bpf ebpf) \ + $(use_enable control-socket unix-socket) \ + $(use_enable cuda) \ + $(use_enable detection) \ + $(use_enable geoip) \ + $(use_enable hardened gccprotect) \ + $(use_enable hardened pie) \ + $(use_enable hyperscan) \ + $(use_enable lz4) \ + $(use_enable nflog) \ + $(use_enable nfqueue) \ + $(use_enable redis hiredis) \ + $(use_enable test unittests) \ + $(use_enable xdp af-xdp) \ + "--disable-coccinelle" + ) + if use lua; then + if use lua_single_target_luajit; then + myeconfargs+=( --enable-luajit ) + else + myeconfargs+=( --enable-lua ) + fi + fi + + if use debug; then + myeconfargs+=( $(use_enable debug) ) + # so we can get a backtrace according to "reporting bugs" on upstream web site + QA_FLAGS_IGNORED="usr/bin/${PN}" + CFLAGS="-ggdb -O0" econf ${myeconfargs[@]} + else + econf ${myeconfargs[@]} + fi +} + +src_compile() { + emake -Onone +} + +src_install() { + emake DESTDIR="${D}" install + python_optimize + # Bug #878855 + python_fix_shebang "${ED}"/usr/bin/ + + if use bpf; then + rm -f ebpf/Makefile.{am,in} || die + dodoc -r ebpf/ + keepdir /usr/libexec/suricata/ebpf + fi + + insinto "/etc/${PN}" + doins etc/{classification,reference}.config threshold.config suricata.yaml + + keepdir "/var/lib/${PN}/rules" "/var/lib/${PN}/update" + keepdir "/var/log/${PN}" + + fowners -R ${PN}: "/var/lib/${PN}" "/var/log/${PN}" "/etc/${PN}" + fperms 750 "/var/lib/${PN}" "/var/log/${PN}" "/etc/${PN}" + fperms 6750 "/var/lib/${PN}/rules" "/var/lib/${PN}/update" + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf + + insopts -m0644 + insinto /etc/logrotate.d + newins etc/${PN}.logrotate ${PN} +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + + elog + if use systemd; then + elog "Suricata requires either the mode of operation (e.g. --af-packet) or the interface to listen on (e.g. -i eth0)" + elog "to be specified on the command line. The provided systemd unit launches Suricata in af-packet mode and relies" + elog "on file configuration to specify interfaces, should you prefer to run it differently you will have to customise" + elog "said unit. The simplest way of doing it is to override the Environment=OPTIONS='...' line using a .conf file" + elog "placed in the directory ${EPREFIX}/etc/systemd/system/suricata.service.d/ ." + elog "For details, see the section on drop-in directories in systemd.unit(5)." + else + elog "The ${PN} init script expects to find the path to the configuration" + elog "file as well as extra options in /etc/conf.d." + elog + elog "To create more than one ${PN} service, simply create a new .yaml file for it" + elog "then create a symlink to the init script from a link called" + elog "${PN}.foo - like so" + elog " cd /etc/${PN}" + elog " ${EDITOR##*/} suricata-foo.yaml" + elog " cd /etc/init.d" + elog " ln -s ${PN} ${PN}.foo" + elog "Then edit /etc/conf.d/${PN} and make sure you specify sensible options for foo." + elog + elog "You can create as many ${PN}.foo* services as you wish." + fi + + if use bpf; then + elog + elog "eBPF/XDP files must be compiled (using llvm-core/clang[llvm_targets_BPF]) before use" + elog "because their configuration is hard-coded. You can find the default ones in" + elog " ${EPREFIX}/usr/share/doc/${PF}/ebpf" + elog "and the common location for eBPF bytecode is" + elog " ${EPREFIX}/usr/libexec/${PN}" + elog "For more information, see https://${PN}.readthedocs.io/en/${P}/capture-hardware/ebpf-xdp.html" + fi + + if use debug; then + elog + elog "You have enabled the debug USE flag. Please read this link to report bugs upstream:" + elog "https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Reporting_Bugs" + elog "You need to also ensure the FEATURES variable in make.conf contains the" + elog "'nostrip' option to produce useful core dumps or back traces." + fi + + elog + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "To download and install an initial set of rules, run:" + elog " suricata-update" + fi + elog +} diff --git a/net-analyzer/symon/Manifest b/net-analyzer/symon/Manifest new file mode 100644 index 000000000000..a1d54d83f8f7 --- /dev/null +++ b/net-analyzer/symon/Manifest @@ -0,0 +1,2 @@ +DIST symon-2.89.tar.gz 106210 BLAKE2B d87fececf6e1e6dc9c39c0474e2a3e5bb6bb47b9a256e377385302a011532d94b751572040594b62962d4b2c2ac2d5bbd90513a79ab82bd69aeb4f30e93609a1 SHA512 631870aafbd29610a0ddc936f86ab12c16c3b19454b6bd98b3f1a1179767be890f9ea828dddcb8d79278f2c10b67631184386d6deb8ffb5c090d7bdc558e5db7 +DIST symon-2.90.tar.gz 102807 BLAKE2B 9ae6042a3376154ed3548d81ddf2bd2fda611f3009d1f12f0dfec957226951c004fc6351933aa78a021bbaa3ffdf0cf4ce0739d861d9e64bf48906c6e4df3f16 SHA512 b6d3664660f119f9f62a3e9cd7fb7d72df7356adf8544a65cb467b9d18b18a5252e3b3cc57ee21f72e45b8dd4f57063a3c876ed736413c11a57575568857aefc diff --git a/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch b/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch new file mode 100644 index 000000000000..76ff4f517da7 --- /dev/null +++ b/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch @@ -0,0 +1,39 @@ +Fold sed that injects LDFLAGS. Inject CFLAGS too. +Remove hardcoded CFLAGS. Remove strip that previously was sidestepped +by setting STRIP=true in ebuild +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -2,7 +2,6 @@ + + AR?= ar + CC?= cc +-CFLAGS+=-g -Wall -Wpedantic -Wextra -Wno-unused-parameter -Werror + INSTALL?=install + LORDER?=lorder + TSORT?=tsort +--- a/symon/Makefile ++++ b/symon/Makefile +@@ -21,9 +21,8 @@ + ${OBJS}: conf.h + + symon: ${OBJS} +- ${CC} -o $@ ${OBJS} ${LIBS} ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ${OBJS} ${LIBS} + .ifndef DEBUG +- ${STRIP} $@ + .endif + + clean: +--- a/symux/Makefile ++++ b/symux/Makefile +@@ -10,9 +10,8 @@ + all: symux symux.cat8 + + symux: ${OBJS} +- ${CC} -o $@ ${OBJS} ${LIBS} ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ${OBJS} ${LIBS} + .ifndef DEBUG +- ${STRIP} $@ + .endif + + clean: diff --git a/net-analyzer/symon/files/symon-2.89-extern_c.patch b/net-analyzer/symon/files/symon-2.89-extern_c.patch new file mode 100644 index 000000000000..088f8c53ec6c --- /dev/null +++ b/net-analyzer/symon/files/symon-2.89-extern_c.patch @@ -0,0 +1,441 @@ +Replace internal glib definition with correct C++ guard +https://bugs.gentoo.org/716080 +--- a/lib/data.c ++++ b/lib/data.c +@@ -54,14 +54,18 @@ + #include "net.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int bytelenvar(char); + int checklen(int, int, int); + struct stream *create_stream(int, char *); + char *formatstrvar(char); + char *rrdstrvar(char); + int strlenvar(char); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* Stream formats + * +--- a/lib/data.h ++++ b/lib/data.h +@@ -38,6 +38,8 @@ + #ifndef _SYMON_LIB_DATA_H + #define _SYMON_LIB_DATA_H + ++#include <sys/types.h> ++ + #include "platform.h" + + #include <stdarg.h> + +--- a/lib/error.c ++++ b/lib/error.c +@@ -27,8 +27,6 @@ + * POSSIBILITY OF SUCH DAMAGE. + * + */ +-#include <sys/cdefs.h> +- + #include <limits.h> + #include <stdarg.h> + #include <stdio.h> +@@ -38,9 +36,13 @@ + + #include "error.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void output_message(int, char *, va_list); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_daemon = 0; + int flag_debug = 0; +--- a/lib/error.h ++++ b/lib/error.h +@@ -31,17 +31,19 @@ + #ifndef _SYMON_LIB_ERROR_H + #define _SYMON_LIB_ERROR_H + +-#include <sys/cdefs.h> +- + extern char *__progname; + extern int flag_debug; + extern int flag_daemon; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void fatal(char *,...); + void warning(char *,...); + void info(char *,...); + void debug(char *,...); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_LIB_ERROR_H */ +--- a/lib/lex.h ++++ b/lib/lex.h +@@ -36,8 +36,6 @@ + #ifndef _SYMON_LIB_LEX_H + #define _SYMON_LIB_LEX_H + +-#include <sys/cdefs.h> +- + #include <stdio.h> + + /* Tokens known to lex */ +@@ -100,7 +98,9 @@ + type; /* type of token in buffer */ + }; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + char *parse_opcode(int); + int lex_nexttoken(struct lex *); + int parse_token(const char *); +@@ -110,7 +110,9 @@ + void parse_error(struct lex *, const char *); + void reset_lex(struct lex *); + void rewind_lex(struct lex *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* EXPECT(l,x) = next token in l must be opcode x or error. */ + #define EXPECT(l, x) do { \ +--- a/lib/net.h ++++ b/lib/net.h +@@ -40,7 +40,9 @@ + extern char res_service[]; + extern struct sockaddr_storage res_addr; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int cmpsock_addr(struct sockaddr *, struct sockaddr *); + int get_numeric_name(struct sockaddr_storage *); + int getaddr(char *, char *, int, int); +@@ -50,6 +52,8 @@ + void get_sockaddr(struct sockaddr_storage *, int, int, int, char*, char *); + void get_mux_sockaddr(struct mux *, int); + int get_source_sockaddr(struct source *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_LIB_NET_H */ +--- a/lib/xmalloc.h ++++ b/lib/xmalloc.h +@@ -18,10 +18,14 @@ + #include <sys/types.h> + + /* Like malloc and friends, but these call fatal if something breaks */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void *xmalloc(size_t); + void *xrealloc(void *, size_t); + void xfree(void *); + char *xstrdup(const char *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_LIB_XMALLOC_H */ +--- a/symon/readconf.c ++++ b/symon/readconf.c +@@ -40,11 +40,15 @@ + #include "symon.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_host_port(struct muxlist *, struct mux *, struct lex *); + int read_symon_args(struct mux *, struct lex *); + int read_monitor(struct muxlist *, struct lex *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + const char *default_symux_port = SYMUX_PORT; + +--- a/symon/readconf.h ++++ b/symon/readconf.h +@@ -33,7 +33,11 @@ + + #include "data.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_config_file(struct muxlist *, char *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_READCONF_H */ +--- a/symon/symon.c ++++ b/symon/symon.c +@@ -53,13 +53,17 @@ + #include "symonnet.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void alarmhandler(int); + void exithandler(int); + void huphandler(int); + void init_streams(struct muxlist *mul); + void drop_privileges(int unsecure); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_unsecure = 0; + int flag_hup = 0; +--- a/symon/symon.h ++++ b/symon/symon.h +@@ -59,7 +59,9 @@ + extern time_t now; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + /* sm_cpu.c */ + extern void init_cpu(struct stream *); + extern void gets_cpu(void); +@@ -136,6 +138,8 @@ + void gets_flukso(void); + int get_flukso(char *, int, struct stream *); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_SYMON_H */ +--- a/symon/symonnet.h ++++ b/symon/symonnet.h +@@ -34,11 +34,15 @@ + #include "data.h" + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void connect2mux(struct mux *); + void send_packet(struct mux *); + void prepare_packet(struct mux *, time_t t); + void stream_in_packet(struct stream *, struct mux *); + void finish_packet(struct mux *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_SYMONNET_H */ +--- a/symux/readconf.c ++++ b/symux/readconf.c +@@ -28,8 +28,8 @@ + * + */ + +-#include <sys/stat.h> ++#include <sys/stat.h> + + #include <string.h> + #include <fcntl.h> + #include <unistd.h> +@@ -42,12 +42,15 @@ + #include "readconf.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_mux(struct muxlist * mul, struct lex *); + int read_source(struct sourcelist * sol, struct lex *, int); + int insert_filename(char *, int, int, char *); +-__END_DECLS +- ++#ifdef __cplusplus ++} ++#endif + const char *default_symux_port = SYMUX_PORT; + + int +--- a/symux/readconf.h ++++ b/symux/readconf.h +@@ -34,8 +34,12 @@ + + #include "data.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_config_file(struct muxlist *, const char *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMUX_READCONF_H */ +--- a/symux/share.c ++++ b/symux/share.c +@@ -76,7 +76,9 @@ + * + */ + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void check_master(void); + void check_sem(void); + void client_doneread(void); +@@ -86,7 +88,9 @@ + void exitmaster(void); + void master_resetsem(int); + void reap_clients(void); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int realclients; /* number of clients active */ + int newclients; +--- a/symux/share.h ++++ b/symux/share.h +@@ -47,7 +47,9 @@ + }; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int master_forbidread(void); + void master_permitread(void); + long shared_getlen(int); +@@ -56,6 +58,8 @@ + void initshare(int); + void shared_setlen(int, long); + pid_t spawn_client(int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMUX_SHARE_H */ +--- a/symux/symux.c ++++ b/symux/symux.c +@@ -56,11 +56,15 @@ + + #include "platform.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void exithandler(int); + void huphandler(int); + void signalhandler(int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_hup = 0; + int flag_testconf = 0; +--- a/symux/symuxnet.c ++++ b/symux/symuxnet.c +@@ -46,9 +46,13 @@ + #include "xmalloc.h" + #include "share.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int check_crc_packet(struct symonpacket *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* Obtain sockets for incoming symon traffic */ + int +--- a/symux/symuxnet.h ++++ b/symux/symuxnet.h +@@ -34,11 +34,15 @@ + #include "data.h" + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int get_client_socket(struct mux *); + int get_symon_sockets(struct mux *); + int accept_connection(int); + int recv_symon_packet(struct mux *, int, struct source **); + void wait_for_traffic(struct mux *, struct source **); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMUX_SYMUXNET_H */ +--- a/lib/data.h ++++ b/lib/data.h +@@ -358,7 +360,9 @@ + }; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + char *type2str(const int); + int bytelen_sourcelist(struct sourcelist *); + int bytelen_streamlist(struct streamlist *); +@@ -393,5 +397,7 @@ + void init_crc32(void); + void init_symon_packet(struct mux *); + void init_symux_packet(struct mux *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_LIB_DATA_H */ diff --git a/net-analyzer/symon/files/symon-init.d b/net-analyzer/symon/files/symon-init.d new file mode 100644 index 000000000000..3d48b793e597 --- /dev/null +++ b/net-analyzer/symon/files/symon-init.d @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the 2-clause BSD license + +extra_started_commands="reload" + +depend() { + after bootmisc + need localmount net + use logger +} + +reload() { + ebegin "Reloading symon" + start-stop-daemon \ + --pidfile /run/symon.pid \ + --exec /usr/sbin/symon \ + --signal HUP + eend $? +} + +start() { + ebegin "Starting symon" + start-stop-daemon --start --exec /usr/sbin/symon -- -u + eend $? +} + +stop() { + ebegin "Stopping symon" + start-stop-daemon --stop --pidfile /run/symon.pid + eend $? +} diff --git a/net-analyzer/symon/files/symon.conf b/net-analyzer/symon/files/symon.conf new file mode 100644 index 000000000000..920662185e58 --- /dev/null +++ b/net-analyzer/symon/files/symon.conf @@ -0,0 +1,14 @@ +# +# Demo configuration for symon. See symon(8) for BNF. +# + +monitor { cpu(0), mem, + if(lo), +# cpuiow(0), +# sensor(fan0), sensor(in0), sensor(temp0), +# if(eth0), if(eth1), if(eth2), +# df(sda), +# smart(sda), +# io(hda), io(hdb), io(hdc), io(hdd) + io(sda) +} stream to 127.0.0.1 2100 diff --git a/net-analyzer/symon/files/symux-init.d b/net-analyzer/symon/files/symux-init.d new file mode 100644 index 000000000000..452d4581b807 --- /dev/null +++ b/net-analyzer/symon/files/symux-init.d @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the 2-clause BSD license + +extra_started_commands="reload" + +depend() { + after bootmisc + need localmount net + use logger +} + +reload() { + ebegin "Reloading symux" + start-stop-daemon \ + --pidfile /run/symux.pid \ + --exec /usr/sbin/symux \ + --signal HUP + eend $? +} + +start() { + ebegin "Starting symux" + start-stop-daemon --start --exec /usr/sbin/symux + eend $? +} + +stop() { + ebegin "Stopping symux" + start-stop-daemon --stop --pidfile /run/symux.pid + eend $? +} diff --git a/net-analyzer/symon/files/symux.conf b/net-analyzer/symon/files/symux.conf new file mode 100644 index 000000000000..fa0ed50631d7 --- /dev/null +++ b/net-analyzer/symon/files/symux.conf @@ -0,0 +1,35 @@ +# +# Demo symux configuration. See symux(8) for BNF. +# + +mux 127.0.0.1 2100 + +source 127.0.0.1 { + accept { cpu(0), mem, + if(lo), +# cpuiow(0), +# sensor(fan0), sensor(in0), sensor(temp0), +# if(eth0), if(eth1), if(eth2), +# df(sda), +# smart(sda), +# io(hda), io(hdb), io(hdc), io(hdd) + io(sda) + } + datadir "/var/lib/symon/rrds/localhost" +} + +# an example showing the write directive +# +# source 10.0.0.2 { +# accept { cpu(0), mem, if(eth0), if(eth1), +# if(lo), if(eth2), io(sda) +# } +# +# write cpu(0) in "/var/lib/symon/rrds/<host>/cpu0.rrd" +# write mem in "/var/lib/symon/rrds/<host>/mem.rrd" +# write if(eth0) in "/var/lib/symon/rrds/<host>/if_eth0.rrd" +# write if(eth1) in "/var/lib/symon/rrds/<host>/if_eth1.rrd" +# write if(lo) in "/var/lib/symon/rrds/<host>/if_lo.rrd" +# write if(eth2) in "/var/lib/symon/rrds/<host>/if_eth2.rrd" +# write io(sda) in "/var/lib/symon/rrds/<host>/io_sda.rrd" +# } diff --git a/net-analyzer/symon/metadata.xml b/net-analyzer/symon/metadata.xml new file mode 100644 index 000000000000..a56fd5040caf --- /dev/null +++ b/net-analyzer/symon/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="perl">Enables a generic perl symux client</flag> + <flag name="symon">Enables the system monitor. Offers no functionality + but monitoring and forwarding of measured data</flag> + <flag name="symux">Enables the multiplexer which stores incoming symon + streams on disk in RRD (<pkg>net-analyzer/rrdtool</pkg>) files</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/symon/symon-2.89.ebuild b/net-analyzer/symon/symon-2.89.ebuild new file mode 100644 index 000000000000..ae76643393c0 --- /dev/null +++ b/net-analyzer/symon/symon-2.89.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo perl-module toolchain-funcs + +DESCRIPTION="Performance and information monitoring tool" +HOMEPAGE="https://wpd.home.xs4all.nl/symon/" +SRC_URI="https://wpd.home.xs4all.nl/symon/philes/${P}.tar.gz" +S="${WORKDIR}"/${PN} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="perl +symon symux" +REQUIRED_USE="|| ( perl symon symux )" +# there are no tests, trying to run them fails because pmakefile +RESTRICT="test" + +BDEPEND="dev-build/pmake" +RDEPEND=" + perl? ( dev-lang/perl ) + symux? ( net-analyzer/rrdtool ) +" +DEPEND="${RDEPEND}" + +# Deletes the directory passed as an argument from the internal pmake +# variable SUBDIR. +zap_subdir() { + sed -i "/^SUBDIR/s|$1||" Makefile || die +} + +PATCHES=( + "${FILESDIR}/${P}-condition-makefiles.patch" + "${FILESDIR}/${P}-extern_c.patch" +) + +src_configure() { + # Do some sed magic in accordance with the USE flags. + use perl && ! use symon && ! use symux && zap_subdir lib + ! use perl && zap_subdir client + ! use symux && zap_subdir symux + ! use symon && zap_subdir symon +} + +src_compile() { + edo pmake CC="$(tc-getCC)" CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" +} + +src_install() { + if use symon; then + insinto /etc + doins "${FILESDIR}"/symon.conf + + newinitd "${FILESDIR}"/symon-init.d symon + + dodoc CHANGELOG HACKERS TODO + + doman symon/symon.8 + dosbin symon/symon + fi + + if use perl; then + dobin client/getsymonitem.pl + + perl_set_version + insinto ${VENDOR_LIB} + doins client/SymuxClient.pm + fi + + if use symux; then + insinto /etc + doins "${FILESDIR}"/symux.conf + + newinitd "${FILESDIR}"/symux-init.d symux + + doman symux/symux.8 + dosbin symux/symux + + insinto /usr/share/symon + doins symux/c_smrrds.sh + fperms a+x /usr/share/symon/c_smrrds.sh + + dodir /var/lib/symon/rrds/localhost + keepdir /var/lib/symon/rrds/localhost + fi +} + +pkg_postinst() { + if use symux; then + elog "The RRDs files can be obtained by running" + elog "/usr/share/symon/c_smrrds.sh all." + elog "For information about migrating RRDs from a previous" + elog "symux version read the LEGACY FORMATS section of symux(8)." + elog "To view the rrdtool pictures of the stored data, emerge" + elog "net-analyzer/syweb." + fi +} diff --git a/net-analyzer/symon/symon-2.90.ebuild b/net-analyzer/symon/symon-2.90.ebuild new file mode 100644 index 000000000000..371ba28573fb --- /dev/null +++ b/net-analyzer/symon/symon-2.90.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo perl-module toolchain-funcs + +DESCRIPTION="Performance and information monitoring tool" +HOMEPAGE="https://wpd.home.xs4all.nl/symon/" +SRC_URI="https://wpd.home.xs4all.nl/symon/philes/${P}.tar.gz" +S="${WORKDIR}"/${PN} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="perl +symon symux" +REQUIRED_USE="|| ( perl symon symux )" +# there are no tests, trying to run them fails because pmakefile +RESTRICT="test" + +BDEPEND="dev-build/pmake" +RDEPEND=" + perl? ( dev-lang/perl ) + symux? ( net-analyzer/rrdtool ) +" +DEPEND="${RDEPEND}" + +# Deletes the directory passed as an argument from the internal pmake +# variable SUBDIR. +zap_subdir() { + sed -i "/^SUBDIR/s|$1||" Makefile || die +} + +PATCHES=( + "${FILESDIR}/${PN}-2.89-condition-makefiles.patch" +) + +src_configure() { + # Do some sed magic in accordance with the USE flags. + use perl && ! use symon && ! use symux && zap_subdir lib + ! use perl && zap_subdir client + ! use symux && zap_subdir symux + ! use symon && zap_subdir symon +} + +src_compile() { + edo pmake CC="$(tc-getCC)" CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" +} + +src_install() { + if use symon; then + insinto /etc + doins "${FILESDIR}"/symon.conf + + newinitd "${FILESDIR}"/symon-init.d symon + + dodoc CHANGELOG HACKERS TODO + + doman symon/symon.8 + dosbin symon/symon + fi + + if use perl; then + dobin client/getsymonitem.pl + + perl_set_version + insinto ${VENDOR_LIB} + doins client/SymuxClient.pm + fi + + if use symux; then + insinto /etc + doins "${FILESDIR}"/symux.conf + + newinitd "${FILESDIR}"/symux-init.d symux + + doman symux/symux.8 + dosbin symux/symux + + insinto /usr/share/symon + doins symux/c_smrrds.sh + fperms a+x /usr/share/symon/c_smrrds.sh + + dodir /var/lib/symon/rrds/localhost + keepdir /var/lib/symon/rrds/localhost + fi +} + +pkg_postinst() { + if use symux; then + elog "The RRDs files can be obtained by running" + elog "/usr/share/symon/c_smrrds.sh all." + elog "For information about migrating RRDs from a previous" + elog "symux version read the LEGACY FORMATS section of symux(8)." + elog "To view the rrdtool pictures of the stored data, emerge" + elog "net-analyzer/syweb." + fi +} diff --git a/net-analyzer/synscan/Manifest b/net-analyzer/synscan/Manifest new file mode 100644 index 000000000000..3f73f21271ad --- /dev/null +++ b/net-analyzer/synscan/Manifest @@ -0,0 +1 @@ +DIST synscan-5.02.tar.gz 60651 BLAKE2B 0ad083d6751234b60ec0428cb3752ba1207a5be5e305a0d26950343c7a7f0572aa9ad5cb16831d862ac43c35a051514bd8fefce4abadbf4c120e4e9add7fa433 SHA512 40ec616e169d0d4150e2213fbdcb985e55dcceefef521b0bf85d8964f5b82892b8abeffcbe9c5e38314c22b86553dae56fb082d546e83efa65755a4d345ea7b0 diff --git a/net-analyzer/synscan/files/synscan-5.02-destdir.patch b/net-analyzer/synscan/files/synscan-5.02-destdir.patch new file mode 100644 index 000000000000..920bf65c1ed6 --- /dev/null +++ b/net-analyzer/synscan/files/synscan-5.02-destdir.patch @@ -0,0 +1,15 @@ +--- a/Makefile.in 2011-02-21 23:05:20.000000000 +0200 ++++ b/Makefile.in 2019-03-20 18:28:46.812472904 +0300 +@@ -65,10 +65,8 @@ + ${CC} ${LDFLAGS} ${CFLAGS} $< ${OBJS} ${LIBS} -o sslog + + install: +- mkdir -p -m 755 ${bindir} +- strip synscan +- strip sslog +- @INSTALL_PROGRAM@ synscan sslog ${bindir} ++ mkdir -p -m 755 $(DESTDIR)${bindir} ++ @INSTALL_PROGRAM@ synscan sslog $(DESTDIR)${bindir} + + clean: + rm -f ${PROJ} ${OBJS} core *.core diff --git a/net-analyzer/synscan/files/synscan-5.02-lld.patch b/net-analyzer/synscan/files/synscan-5.02-lld.patch new file mode 100644 index 000000000000..612e91599984 --- /dev/null +++ b/net-analyzer/synscan/files/synscan-5.02-lld.patch @@ -0,0 +1,9 @@ +lld does not ignore erroneous libdirs (ideally should use pkg-config) +https://bugs.gentoo.org/875017 +--- a/configure.in ++++ b/configure.in +@@ -60,3 +60,3 @@ + CFLAGS="$CFLAGS -I${prefix}/include" +- LIBS="$LIBS -L${prefix}/lib -lpcap" ++ LIBS="$LIBS -lpcap" + elif test -f /usr/include/pcap/pcap.h; then diff --git a/net-analyzer/synscan/metadata.xml b/net-analyzer/synscan/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/synscan/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/synscan/synscan-5.02.ebuild b/net-analyzer/synscan/synscan-5.02.ebuild new file mode 100644 index 000000000000..5d38f8710526 --- /dev/null +++ b/net-analyzer/synscan/synscan-5.02.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Fast asynchronous half-open TCP portscanner" +HOMEPAGE="http://www.digit-labs.org/files/tools/synscan/" +SRC_URI="http://www.digit-labs.org/files/tools/synscan/releases/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 x86 ~x64-macos" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-destdir.patch + "${FILESDIR}"/${P}-lld.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_compile() { + local _target + + use kernel_linux && _target=linux + use kernel_SunOS && _target=solaris-sparc-gcc + use kernel_Darwin && _target=macos + + emake ${_target} +} diff --git a/net-analyzer/syweb/Manifest b/net-analyzer/syweb/Manifest new file mode 100644 index 000000000000..4e6da8cb6035 --- /dev/null +++ b/net-analyzer/syweb/Manifest @@ -0,0 +1,2 @@ +DIST syweb-0.65.tar.gz 37052 BLAKE2B 502bee5e78bdfd309780dd7414616eec99982b3c203039aff645842fc6538396180dabcc9953a70f4bc7c7326fb28c11dc5bd4fd17b8e5c409a8424203b61a88 SHA512 ca4a4ad6f48dc4ff32c11979d6f34ae6f87462fd295780cdef6609ca425d21698ff43e2c5ffbf43a1f1ecccef4718891992160d1fbc1325726c474d113f824b2 +DIST syweb-0.67.tar.gz 40380 BLAKE2B 2856d552799577f5e3e10821ef06f23d747c1f814e7a578371d62702fa6aeeaa6a04491a66c2a0ff6cf78672e62c65871a903416317f96239959b5a3faf9ff4e SHA512 a0b7c3e390e3c9849a85c08872e9baa9c75df8d0e00d4b7e3dadb0f4a38f244efdbb4b58eb2221c5296f25b9152ac8b54e615cc56e641600ce28600f6115e264 diff --git a/net-analyzer/syweb/files/postinstall-en.txt b/net-analyzer/syweb/files/postinstall-en.txt new file mode 100644 index 000000000000..291d66d4e381 --- /dev/null +++ b/net-analyzer/syweb/files/postinstall-en.txt @@ -0,0 +1,8 @@ +Test your syweb installation by pointing your browser to the URL +http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/configtest.php + +If you don't want any user interaction, move index_noui.php to index.php. + +syweb expects a <host>/*.rrd style directory structure under +/var/lib/symon/rrds. Customize ${MY_INSTALLDIR}/setup.inc +if this is incorrect for your setup. diff --git a/net-analyzer/syweb/files/reconfig b/net-analyzer/syweb/files/reconfig new file mode 100644 index 000000000000..79324cc1c7d0 --- /dev/null +++ b/net-analyzer/syweb/files/reconfig @@ -0,0 +1,20 @@ +#!/bin/bash + +die() { + echo "#####" + echo $1 + echo "#####" + exit 1 +} + +sed_var() { + sed -i "/\\$symon['$1']/s|=.*|='$2';|" "${MY_INSTALLDIR}"/setup.inc \ + || die "sed $1 failed" +} + +[[ $1 == "clean" ]] && exit 0 + +sed_var rrdtool_path /usr/bin/rrdtool +sed_var cache_dir "${VHOST_ROOT}"/syweb/cache +sed_var host_tree /var/lib/symon/rrds +sed_var layout_dir "${VHOST_ROOT}"/syweb diff --git a/net-analyzer/syweb/metadata.xml b/net-analyzer/syweb/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/syweb/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/syweb/syweb-0.65-r1.ebuild b/net-analyzer/syweb/syweb-0.65-r1.ebuild new file mode 100644 index 000000000000..f3122287ff22 --- /dev/null +++ b/net-analyzer/syweb/syweb-0.65-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WEBAPP_MANUAL_SLOT="yes" +inherit webapp + +DESCRIPTION="Web frontend to symon" +HOMEPAGE="https://www.xs4all.nl/~wpd/symon/" +SRC_URI="https://www.xs4all.nl/~wpd/symon/philes/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" + +RDEPEND=" + net-analyzer/rrdtool + virtual/httpd-php +" + +need_httpd_cgi + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG README + docinto layouts + dodoc symon/*.layout + + dodir "${MY_HOSTROOTDIR}"/syweb/cache + insinto "${MY_HOSTROOTDIR}"/syweb + doins symon/hifn_test.layout + webapp_serverowned "${MY_HOSTROOTDIR}"/syweb/cache + insinto "${MY_HTDOCSDIR}" + doins -r htdocs/syweb/* + webapp_configfile "${MY_HTDOCSDIR}"/setup.inc + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + webapp_hook_script "${FILESDIR}"/reconfig + + webapp_src_install +} diff --git a/net-analyzer/syweb/syweb-0.67.ebuild b/net-analyzer/syweb/syweb-0.67.ebuild new file mode 100644 index 000000000000..f3122287ff22 --- /dev/null +++ b/net-analyzer/syweb/syweb-0.67.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WEBAPP_MANUAL_SLOT="yes" +inherit webapp + +DESCRIPTION="Web frontend to symon" +HOMEPAGE="https://www.xs4all.nl/~wpd/symon/" +SRC_URI="https://www.xs4all.nl/~wpd/symon/philes/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" + +RDEPEND=" + net-analyzer/rrdtool + virtual/httpd-php +" + +need_httpd_cgi + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG README + docinto layouts + dodoc symon/*.layout + + dodir "${MY_HOSTROOTDIR}"/syweb/cache + insinto "${MY_HOSTROOTDIR}"/syweb + doins symon/hifn_test.layout + webapp_serverowned "${MY_HOSTROOTDIR}"/syweb/cache + insinto "${MY_HTDOCSDIR}" + doins -r htdocs/syweb/* + webapp_configfile "${MY_HTDOCSDIR}"/setup.inc + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + webapp_hook_script "${FILESDIR}"/reconfig + + webapp_src_install +} diff --git a/net-analyzer/tcpdump/Manifest b/net-analyzer/tcpdump/Manifest new file mode 100644 index 000000000000..df890bbb02b9 --- /dev/null +++ b/net-analyzer/tcpdump/Manifest @@ -0,0 +1,4 @@ +DIST tcpdump-4.99.5.tar.gz 2045086 BLAKE2B 754c25eafe84754465356042faa1369678655aa93d1b736c259ca9a6bd1e18c44784ae136dc6a3e64af9903c05c29e1379aafd7badc0e129c5a29ae908db13ff SHA512 69bc52ef7af7fd562370adf2e95cb592aad6193df9ab1708de52ac86a4c1cff72e8b256a739b435c324ee2df61051abde7d2659bc40f061d7c4fbcab1dcaa2e2 +DIST tcpdump-4.99.5.tar.gz.sig 442 BLAKE2B 8742616147e2965ea6879b471662669f1942cdb8892834ac3ebfd4a6f610bde1a091bb85dc8c0836b26d1db7036d072608d7242ee4ddfbf590a07beb584a67cc SHA512 e36d2023973335cb95e91cb13414f6c0e6386175ed88fdeb2c0afabf7c39ad43f138d13b18ff2e88b142aad5147d37ddc03c3111e9d4d22bf3697e0acc30905c +DIST tcpdump-4.99.6.tar.gz 2053753 BLAKE2B cf820f98d271a6cd97d0c2c7b4f6a6a3091b264a2cdb0c80e4cc0d0301ca4a817498b5941e0806d838cc819d20539157fc50b4be5634153eb2eeb6e540bd0196 SHA512 1a3c1855de8769ded66c86f0a8a54f5fe0943aa6855ff43bc8262895e749f7afe6a729cec4280d705f3e82942d0cee4b914bc1aa50e6ea686ad8ff798ca8df96 +DIST tcpdump-4.99.6.tar.gz.sig 442 BLAKE2B d6c533c7a259cebb9cfa2384b969f5625d225d32526c97016ef7f604dee6dfc17bdc9795b76b680601586b8bf0e8cfd04db2a6b4cf191befcd178d9dda520cba SHA512 421dddc51f43e93e76c6fa27aa2482a8de99247b8c42984c58f8009c4330c57f111d6f93c028e5c6506029b60ee02cdc0cc258adc4aaf346b0e11472d770fd9b diff --git a/net-analyzer/tcpdump/files/tcpdump-4.99.5-lfs.patch b/net-analyzer/tcpdump/files/tcpdump-4.99.5-lfs.patch new file mode 100644 index 000000000000..0be1d7a75aaf --- /dev/null +++ b/net-analyzer/tcpdump/files/tcpdump-4.99.5-lfs.patch @@ -0,0 +1,22 @@ +https://github.com/the-tcpdump-group/tcpdump/pull/1068 + +From 54278acb038f0d16ed75cdddb35fd2813a7cdcef Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Thu, 27 Jul 2023 08:31:53 +0100 +Subject: [PATCH] configure.ac: use AC_SYS_LARGEFILE + +This enables 64-bit off_t where it's opt-in (e.g. glibc) on 32-bit platforms. + +Bug: https://bugs.gentoo.org/911176 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/configure.ac ++++ b/configure.ac +@@ -31,6 +31,8 @@ fi + AC_LBL_C_INIT(V_CCOPT, V_INCLS) + AC_LBL_C_INLINE + ++AC_SYS_LARGEFILE ++ + AC_CHECK_HEADERS(rpc/rpc.h rpc/rpcent.h net/if.h) + # + # Get the size of a void *, to know whether this is a 32-bit or 64-bit build. diff --git a/net-analyzer/tcpdump/files/tcpdump-4.99.5-libdir.patch b/net-analyzer/tcpdump/files/tcpdump-4.99.5-libdir.patch new file mode 100644 index 000000000000..c7448fb311c1 --- /dev/null +++ b/net-analyzer/tcpdump/files/tcpdump-4.99.5-libdir.patch @@ -0,0 +1,29 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -427,7 +427,7 @@ fi + + if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then + if test -d $ipv6libdir -a -f $ipv6libdir/lib$ipv6lib.a; then +- LIBS="-L$ipv6libdir -l$ipv6lib $LIBS" ++ LIBS="-l$ipv6lib $LIBS" + echo "You have $ipv6lib library, using it" + else + if test "$ipv6trylibc" = "yes"; then +@@ -1168,7 +1168,7 @@ return 0; + # + AC_LBL_SAVE_CHECK_STATE + CFLAGS="$CFLAGS -I$libcrypto_root/include" +- LIBS="$LIBS -L$libcrypto_root/lib -lcrypto" ++ LIBS="$LIBS -lcrypto" + AC_MSG_CHECKING(whether we have a system OpenSSL/libressl that we can use) + AC_LINK_IFELSE([AC_LANG_PROGRAM( + [[ +@@ -1182,7 +1182,7 @@ return 0; + AC_MSG_RESULT(yes) + HAVE_LIBCRYPTO=yes + LIBCRYPTO_CFLAGS="-I$libcrypto_root/include" +- LIBCRYPTO_LIBS="-L$libcrypto_root/lib -lcrypto" ++ LIBCRYPTO_LIBS="-lcrypto" + ], + AC_MSG_RESULT(no)) + AC_LBL_RESTORE_CHECK_STATE diff --git a/net-analyzer/tcpdump/metadata.xml b/net-analyzer/tcpdump/metadata.xml new file mode 100644 index 000000000000..9659a6eddb43 --- /dev/null +++ b/net-analyzer/tcpdump/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <use> + <flag name="smi">Build with <pkg>net-libs/libsmi</pkg> to load MIBs on the fly to decode SNMP packets</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:tcpdump:tcpdump</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild b/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild new file mode 100644 index 000000000000..e24a465253cb --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A tool for network monitoring and data acquisition" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+caps +smi +ssl +samba suid test" +REQUIRED_USE="test? ( samba )" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=net-libs/libpcap-1.10.1 + caps? ( + acct-group/pcap + acct-user/pcap + sys-libs/libcap-ng + ) + smi? ( net-libs/libsmi ) + ssl? ( + >=dev-libs/openssl-0.9.6m:= + ) + suid? ( + acct-group/pcap + acct-user/pcap + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-lang/perl + ) +" +BDEPEND="caps? ( virtual/pkgconfig )" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + $(use_enable samba smb) \ + $(use_with caps cap-ng) \ + $(use_with smi) \ + $(use_with ssl crypto "${ESYSROOT}/usr") \ + $(usex caps "--with-user=pcap" "") +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use caps ; then + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-caps" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid ; then + fowners root:pcap /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump, add them to the pcap group." +} diff --git a/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild b/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild new file mode 100644 index 000000000000..c9011826b31b --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Tool for network monitoring and data acquisition" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+caps +smi +ssl +samba suid test" +REQUIRED_USE="test? ( samba )" +RESTRICT="!test? ( test )" + +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases +RDEPEND=" + >=net-libs/libpcap-1.10.5 + caps? ( + acct-group/pcap + acct-user/pcap + sys-libs/libcap-ng + ) + smi? ( net-libs/libsmi ) + ssl? ( + >=dev-libs/openssl-0.9.6m:= + ) + suid? ( + acct-group/pcap + acct-user/pcap + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-lang/perl + ) +" +BDEPEND="caps? ( virtual/pkgconfig )" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") + $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use caps ; then + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-caps" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid ; then + fowners root:pcap /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump, add them to the pcap group." +} diff --git a/net-analyzer/tcpdump/tcpdump-9999.ebuild b/net-analyzer/tcpdump/tcpdump-9999.ebuild new file mode 100644 index 000000000000..3c062623d1e6 --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-9999.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Tool for network monitoring and data acquisition" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+caps +smi +ssl +samba suid test" +REQUIRED_USE="test? ( samba )" +RESTRICT="!test? ( test )" + +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases +RDEPEND=" + >=net-libs/libpcap-1.10.5 + caps? ( + acct-group/pcap + acct-user/pcap + sys-libs/libcap-ng + ) + smi? ( net-libs/libsmi ) + ssl? ( + >=dev-libs/openssl-0.9.6m:= + ) + suid? ( + acct-group/pcap + acct-user/pcap + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-lang/perl + ) +" +BDEPEND="caps? ( virtual/pkgconfig )" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") + $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use caps ; then + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-caps" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid ; then + fowners root:pcap /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump, add them to the pcap group." +} diff --git a/net-analyzer/tcpflow/Manifest b/net-analyzer/tcpflow/Manifest new file mode 100644 index 000000000000..849f6a69a642 --- /dev/null +++ b/net-analyzer/tcpflow/Manifest @@ -0,0 +1,3 @@ +DIST be13_api-20170924.tar.gz 75724 BLAKE2B a5257346b9c0740d9758543fe7772c960e1941735abefe4d24d347631b35d1511fde8eb5a58dbb2824c54e78ee0d686a2549ceea2c1dc91e05ef92899c8b3c2d SHA512 5bf0d28f23df9436304245ccbdbf4af5b0f65e62b92e3039cfb9a70fe2056aa90dcce906db02f3df83fcf2a415c8a46f0f75468d48e13b15673d11c447a4c9c4 +DIST dfxml-20170921.tar.gz 163616 BLAKE2B 17214d15596a136efb2afc7246ee0f5696620b5aac7c2d78e37764f51487ff816de5a7c0f59e7484d358a8cd8eab34841716970cd859f0ce868ac29c8532754c SHA512 0885947aaf8efe639c13324413ef0cca49750027b48b434f226fb9fbfba494e84e245da879dc0d77b46bddc27798f7f5df12590fce47b096683034bbc61280e1 +DIST tcpflow-1.6.1-tag.tar.gz 915245 BLAKE2B 22a1540415d6321d4ba43035f386aaea177e9d3244ff1dcdedcb0c8a72f487a969372b76b85f6acec4f0f1430b51230ceb665466af388d2bfe123a57dcd4224b SHA512 9c0357ca816bf4316ce7a461e5d18c5043a6938828ce83a613a952d5804cc6b701028a666b352da922d69447ab7f5d4c9f66585872e7b116c0f1aebebc38682b diff --git a/net-analyzer/tcpflow/files/tcpflow-1.5.0_alpha-libcapng.patch b/net-analyzer/tcpflow/files/tcpflow-1.5.0_alpha-libcapng.patch new file mode 100644 index 000000000000..b56144324c09 --- /dev/null +++ b/net-analyzer/tcpflow/files/tcpflow-1.5.0_alpha-libcapng.patch @@ -0,0 +1,13 @@ +--- a/src/tcpflow.cpp ++++ b/src/tcpflow.cpp +@@ -30,6 +30,10 @@ + #include <grp.h> + #endif + ++#ifdef HAVE_CAP_NG_H ++#include <cap-ng.h> ++#endif ++ + /* bring in inet_ntop if it is not present */ + #define ETH_ALEN 6 + #ifndef HAVE_INET_NTOP diff --git a/net-analyzer/tcpflow/files/tcpflow-1.5.2-gentoo.patch b/net-analyzer/tcpflow/files/tcpflow-1.5.2-gentoo.patch new file mode 100644 index 000000000000..e6748c019688 --- /dev/null +++ b/net-analyzer/tcpflow/files/tcpflow-1.5.2-gentoo.patch @@ -0,0 +1,64 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -30,7 +30,6 @@ + AC_PROG_INSTALL + + m4_include([m4/slg_searchdirs.m4]) +-m4_include([m4/slg_gcc_all_warnings.m4]) + + + # use C++11 mode if available; HAVE_CXX11 is defined in config.h if so. Don't +@@ -402,7 +402,12 @@ + AC_CHECK_HEADERS(cap-ng.h) + fi + +- ++################################################################ ++# http-parser ++ ++AC_CHECK_LIB(http_parser,http_parser_init,, ++ AC_MSG_ERROR([http-parser library not installed])) ++AC_CHECK_HEADERS(http_parser.h) + + ################################################################ + # Specify our other headers +--- a/src/scan_http.cpp ++++ b/src/scan_http.cpp +@@ -11,7 +11,11 @@ + #include "tcpip.h" + #include "tcpdemux.h" + ++#ifdef HAVE_HTTP_PARSER_H ++#include "http_parser.h" ++#else + #include "http-parser/http_parser.h" ++#endif + + #include "mime_map.h" + +diff --git a/src/Makefile.am b/src/Makefile.am +index 793ec1a..ecac7a9 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -98,8 +98,6 @@ tcpflow_SOURCES = \ + scan_netviz.cpp \ + pcap_writer.h \ + iptree.h \ +- http-parser/http_parser.c \ +- http-parser/http_parser.h \ + mime_map.cpp \ + mime_map.h + +@@ -110,12 +108,6 @@ tcpflow_SOURCES = \ + EXTRA_DIST =\ + inet_ntop.c \ + inet_ntop.h \ +- http-parser/AUTHORS \ +- http-parser/CONTRIBUTIONS \ +- http-parser/LICENSE-MIT \ +- http-parser/Makefile \ +- http-parser/README.md \ +- http-parser/http_parser.gyp \ + wifipcap/README.txt \ + wifipcap/TimeVal.cpp \ + wifipcap/TimeVal.h \ diff --git a/net-analyzer/tcpflow/files/tcpflow-1.6.1-gcc13.patch b/net-analyzer/tcpflow/files/tcpflow-1.6.1-gcc13.patch new file mode 100644 index 000000000000..d3b6b63920f1 --- /dev/null +++ b/net-analyzer/tcpflow/files/tcpflow-1.6.1-gcc13.patch @@ -0,0 +1,22 @@ +https://github.com/simsong/tcpflow/pull/252 + +From 51973125e3961569b83bd4fdde65272a3843a6a3 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sat, 15 Apr 2023 09:54:14 +0100 +Subject: [PATCH] Fix build with GCC 13 + +GCC 13 (as usual for new compiler releases) shuffles around some internal includes and so etc is no longer transitively included. + +See https://gnu.org/software/gcc/gcc-13/porting_to.html. +Bug: https://bugs.gentoo.org/895282 +--- a/src/netviz/plot_view.h ++++ b/src/netviz/plot_view.h +@@ -23,6 +23,7 @@ + #include <cairo/cairo-pdf.h> + #endif + ++#include <cstdint> + #include <vector> + #include <string> + #include <math.h> + diff --git a/net-analyzer/tcpflow/files/tcpflow-1.6.1-wformat-security.patch b/net-analyzer/tcpflow/files/tcpflow-1.6.1-wformat-security.patch new file mode 100644 index 000000000000..092a08dd7664 --- /dev/null +++ b/net-analyzer/tcpflow/files/tcpflow-1.6.1-wformat-security.patch @@ -0,0 +1,24 @@ +https://github.com/simsong/tcpflow/issues/238 +https://github.com/simsong/tcpflow/commit/a0697509c4657e2fd94f941e43a2d4c86ddf9fe4 + +From: "Simson L. Garfinkel" <simsong@acm.org> +Date: Thu, 11 Mar 2021 19:30:54 -0500 +Subject: [PATCH] Update datalink.cpp (#239) + +per https://salsa.debian.org/debian/tcpflow/-/blob/master/debian/patches/fix-werror-format-security.patch +Closes https://github.com/simsong/tcpflow/issues/238 +--- a/src/datalink.cpp ++++ b/src/datalink.cpp +@@ -171,10 +171,7 @@ void dl_ethernet(u_char *user, const struct pcap_pkthdr *h, const u_char *p) + break; + } + } catch( std::logic_error e){ +- std::string s(std::string("warning: caught std::logic_error ") +- + e.what() +- + std::string(" in packet")); +- DEBUG(6)(s.c_str()); ++ DEBUG(6)("Warning: caught std::logic_error %s in packet",e.what()); + } + } + + diff --git a/net-analyzer/tcpflow/metadata.xml b/net-analyzer/tcpflow/metadata.xml new file mode 100644 index 000000000000..8e327ffc714c --- /dev/null +++ b/net-analyzer/tcpflow/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:digitalcorpora:tcpflow</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcpflow/tcpflow-1.6.1-r1.ebuild b/net-analyzer/tcpflow/tcpflow-1.6.1-r1.ebuild new file mode 100644 index 000000000000..97efcb64e901 --- /dev/null +++ b/net-analyzer/tcpflow/tcpflow-1.6.1-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="A tool for monitoring, capturing and storing TCP connections flows" +HOMEPAGE="https://github.com/simsong/tcpflow" +SRC_URI=" + https://api.github.com/repos/simsong/be13_api/tarball/c81521d768bb78499c069fcd7c47adc8eee0350c -> be13_api-20170924.tar.gz + https://api.github.com/repos/simsong/dfxml/tarball/7d11eaa7da8d31f588ce8aecb4b4f5e7e8169ba6 -> dfxml-20170921.tar.gz + https://github.com/simsong/tcpflow/archive/refs/tags/${P}.tar.gz -> ${P}-tag.tar.gz +" +S="${WORKDIR}"/${PN}-${P} + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x64-macos" +IUSE="cairo test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-db/sqlite + dev-libs/boost:= + dev-libs/openssl:= + net-libs/http-parser:= + net-libs/libpcap + sys-libs/libcap-ng + virtual/zlib:= + cairo? ( + x11-libs/cairo + )" +DEPEND="${RDEPEND}" +BDEPEND="test? ( sys-apps/coreutils )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.0_alpha-libcapng.patch + "${FILESDIR}"/${PN}-1.5.2-gentoo.patch + "${FILESDIR}"/${PN}-1.6.1-wformat-security.patch + "${FILESDIR}"/${PN}-1.6.1-gcc13.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + append-cxxflags -fpermissive + + # Disable Python because it's Python 2.7 only, even as of 1.6.1! + export ac_cv_header_python2_7_Python_h=no + export ac_cv_lib_python2_7_Py_Initialize=no + + CONFIG_SHELL="${BROOT}"/bin/bash econf $(usex cairo --enable-cairo=true --enable-cairo=false) +} diff --git a/net-analyzer/tcping/Manifest b/net-analyzer/tcping/Manifest new file mode 100644 index 000000000000..4c63f8a7731d --- /dev/null +++ b/net-analyzer/tcping/Manifest @@ -0,0 +1 @@ +DIST tcping-2.1.0.tar.gz 6532 BLAKE2B 8d154b36480180ae6fd2a644b98ee0ed569e1d7491a2fe5a5ced9a3ad2470d8a34cbbed499ba93661816075617cdb00f83c1469866f3bf63871fbbc6f67168ca SHA512 d39c30390a7ab7a345f3b8fc2731afa817b104460a65ad47f1e535d1a5242eed7eb5b8c416b898dd4eedc87cf16af7bbb0630c63731b12513fa4f95eb9dfaed0 diff --git a/net-analyzer/tcping/metadata.xml b/net-analyzer/tcping/metadata.xml new file mode 100644 index 000000000000..011d298371ee --- /dev/null +++ b/net-analyzer/tcping/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcping/tcping-2.1.0.ebuild b/net-analyzer/tcping/tcping-2.1.0.ebuild new file mode 100644 index 000000000000..5eec6370d88d --- /dev/null +++ b/net-analyzer/tcping/tcping-2.1.0.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Check if a desired port is reachable via TCP" +HOMEPAGE="https://github.com/mkirchner/tcping" +SRC_URI="https://github.com/mkirchner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~x86" + +src_prepare() { + default + sed -e '/^CC=/s:=:?=:' \ + -e '/^CCFLAGS/s:=:+=:' \ + -e 's/$(CCFLAGS)/$(CCFLAGS) $(LDFLAGS)/' \ + -i Makefile || die + tc-export CC + export CCFLAGS="${CFLAGS}" +} + +src_install() { + dobin tcping + dodoc README +} diff --git a/net-analyzer/tcpreen/Manifest b/net-analyzer/tcpreen/Manifest new file mode 100644 index 000000000000..d3ab49a82e1f --- /dev/null +++ b/net-analyzer/tcpreen/Manifest @@ -0,0 +1 @@ +DIST tcpreen-1.4.4.tar.bz2 187979 BLAKE2B ef76c7757c5e630a8b0019ede74314bdf7b0e1e48af00091c8b1a28075499b1e0411b5a7ff8bd01bd54ebb347dfc2169b5efe54d36ef12e6ce31f54c4d278d70 SHA512 94496bbb21218b5acc9e76dd4377f92e35b17e03a2d10a7c42177ba5ccbb6aea1b0b54f49d52c5a97456f8cf77685e1c90c27773f4237c33e95f648d4258b786 diff --git a/net-analyzer/tcpreen/files/tcpreen-1.4.4-literal-suffix.patch b/net-analyzer/tcpreen/files/tcpreen-1.4.4-literal-suffix.patch new file mode 100644 index 000000000000..1808a54f8875 --- /dev/null +++ b/net-analyzer/tcpreen/files/tcpreen-1.4.4-literal-suffix.patch @@ -0,0 +1,13 @@ +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -108,8 +108,8 @@ + # define VERSION "unknown version" + #endif + puts ( +-"TCP re-engineering tool "VERSION" ("PACKAGE_HOST")\n" +-" built "__DATE__" on "PACKAGE_BUILD_HOSTNAME" ("PACKAGE_BUILD")\n" ++"TCP re-engineering tool " VERSION " (" PACKAGE_HOST ")\n" ++" built " __DATE__ " on " PACKAGE_BUILD_HOSTNAME " (" PACKAGE_BUILD ")\n" + "Copyright (C) 2002-2004 Remi Denis-Courmont"); + puts (_( + "This is free software; see the source for copying conditions.\n" diff --git a/net-analyzer/tcpreen/metadata.xml b/net-analyzer/tcpreen/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/tcpreen/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcpreen/tcpreen-1.4.4-r1.ebuild b/net-analyzer/tcpreen/tcpreen-1.4.4-r1.ebuild new file mode 100644 index 000000000000..3191689b7a26 --- /dev/null +++ b/net-analyzer/tcpreen/tcpreen-1.4.4-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="TCP network re-engineering tool" +HOMEPAGE="https://www.remlab.net/tcpreen/" +SRC_URI="https://www.remlab.net/files/${PN}/stable/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="nls" + +BDEPEND="nls? ( sys-devel/gettext )" + +PATCHES=( "${FILESDIR}"/${P}-literal-suffix.patch ) + +src_configure() { + econf $(use_enable nls) +} + +src_compile() { + emake AR="$(tc-getAR)" +} diff --git a/net-analyzer/tcpreplay/Manifest b/net-analyzer/tcpreplay/Manifest new file mode 100644 index 000000000000..ab021b8dfbab --- /dev/null +++ b/net-analyzer/tcpreplay/Manifest @@ -0,0 +1 @@ +DIST tcpreplay-4.5.2.tar.xz 818824 BLAKE2B ccb5580e38700824cb2eab1121c27e2383388d72483fe41ed67d94756415fcf4269a1ae6d32b758f388cb7511033f805e906023161719015bbd376a2c529771d SHA512 77d822ff9c0f723765451f207e2f9d2c94e6cef8c21984882674ddcac782d877b91695d92be75f23745cb89961cc3f5db17500865822044239df353356d25a3e diff --git a/net-analyzer/tcpreplay/files/tcpreplay-4.3.0-enable-pcap_findalldevs.patch b/net-analyzer/tcpreplay/files/tcpreplay-4.3.0-enable-pcap_findalldevs.patch new file mode 100644 index 000000000000..6c4d2c02dc0a --- /dev/null +++ b/net-analyzer/tcpreplay/files/tcpreplay-4.3.0-enable-pcap_findalldevs.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -1499,6 +1499,8 @@ + AC_MSG_WARN(Unable to do tests when cross-compiling) + fi + ++disable_pcap_findalldevs=no ++ + dnl Allows user to choose which nic to use for testing purposes + AC_ARG_WITH(testnic, + AC_HELP_STRING([--with-testnic=NIC], [Select which network card to use for testing]), diff --git a/net-analyzer/tcpreplay/metadata.xml b/net-analyzer/tcpreplay/metadata.xml new file mode 100644 index 000000000000..d52324c4363e --- /dev/null +++ b/net-analyzer/tcpreplay/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Tcpreplay is a suite of utilities for UNIX systems for editing and replaying + network traffic which was previously captured by tools like tcpdump and + ethereal/wireshark. The goal of tcpreplay is to provide the means for + providing reliable and repeatible means for testing a variety of network + devices such as switches, router, firewalls, network intrusion detection and + prevention systems (IDS and IPS). + </longdescription> + <use> + <flag name="tcpdump">Use <pkg>net-analyzer/tcpdump</pkg> for packet decoding feature </flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:broadcom:tcpreplay</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcpreplay/tcpreplay-4.5.2.ebuild b/net-analyzer/tcpreplay/tcpreplay-4.5.2.ebuild new file mode 100644 index 000000000000..86e8530c7cca --- /dev/null +++ b/net-analyzer/tcpreplay/tcpreplay-4.5.2.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Utilities for editing and replaying previously captured network traffic" +HOMEPAGE="http://tcpreplay.appneta.com/ https://github.com/appneta/tcpreplay" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/appneta/tcpreplay" + inherit git-r3 +else + SRC_URI="https://github.com/appneta/${PN}/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="amd64 ~arm ~sparc x86" +fi + +LICENSE="BSD GPL-3" +SLOT="0" +IUSE="debug +tcpdump" + +BDEPEND=">=sys-devel/autogen-5.18.4[libopts]" +DEPEND=" + dev-libs/libdnet + >=net-libs/libpcap-0.9 + elibc_musl? ( sys-libs/fts-standalone ) + tcpdump? ( net-analyzer/tcpdump ) +" +RDEPEND="${DEPEND}" + +QA_CONFIG_IMPL_DECL_SKIP=( + pathfind # sun/solaris only command, bug 900040 +) + +DOCS=( docs/{CHANGELOG,CREDIT,HACKING,TODO} ) + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.0-enable-pcap_findalldevs.patch +) + +src_prepare() { + default + + sed -i \ + -e 's|#include <dnet.h>|#include <dnet/eth.h>|g' \ + src/common/sendpacket.c || die + sed -i \ + -e 's|@\([A-Z_]*\)@|$(\1)|g' \ + -e '/tcpliveplay_CFLAGS/s|$| $(LDNETINC)|g' \ + -e '/tcpliveplay_LDADD/s|$| $(LDNETLIB)|g' \ + src/Makefile.am || die + + eautoreconf +} + +src_configure() { + use elibc_musl && append-flags "-lfts" + # By default it uses static linking. Avoid that, bug #252940 + local myeconfargs=( + $(use_enable debug) + $(use_with tcpdump tcpdump "${ESYSROOT}"/usr/sbin/tcpdump) + --enable-dynamic-link + --enable-local-libopts + --enable-shared + --with-libdnet + --with-pcapnav-config=no + --with-testnic2=lo + --with-testnic=lo + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ! ${EUID} -eq 0 ]] ; then + ewarn "Some tests were disabled due to FEATURES=userpriv" + ewarn "To run all tests issue the following command as root:" + ewarn " # make -C ${S}/test" + emake -j1 -C test tcpprep + else + emake -j1 test || { + ewarn "Note that some tests require eth0 iface to be up." + die "self test failed - see ${S}/test/test.log" + } + fi +} diff --git a/net-analyzer/tcpreplay/tcpreplay-9999.ebuild b/net-analyzer/tcpreplay/tcpreplay-9999.ebuild new file mode 100644 index 000000000000..3b1265cca030 --- /dev/null +++ b/net-analyzer/tcpreplay/tcpreplay-9999.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Utilities for editing and replaying previously captured network traffic" +HOMEPAGE="http://tcpreplay.appneta.com/ https://github.com/appneta/tcpreplay" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/appneta/tcpreplay" + inherit git-r3 +else + SRC_URI="https://github.com/appneta/${PN}/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~sparc ~x86" +fi + +S="${WORKDIR}"/${P/_/-} + +LICENSE="BSD GPL-3" +SLOT="0" +IUSE="debug +tcpdump" + +BDEPEND=" + >=sys-devel/autogen-5.18.4[libopts] +" +DEPEND=" + dev-libs/libdnet + >=net-libs/libpcap-0.9 + elibc_musl? ( sys-libs/fts-standalone ) + tcpdump? ( net-analyzer/tcpdump ) +" +RDEPEND="${DEPEND}" + +QA_CONFIG_IMPL_DECL_SKIP=( + pathfind # sun/solaris only command, bug 900040 +) + +DOCS=( docs/{CHANGELOG,CREDIT,HACKING,TODO} ) + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.0-enable-pcap_findalldevs.patch +) + +src_prepare() { + default + + sed -i \ + -e 's|#include <dnet.h>|#include <dnet/eth.h>|g' \ + src/common/sendpacket.c || die + sed -i \ + -e 's|@\([A-Z_]*\)@|$(\1)|g' \ + -e '/tcpliveplay_CFLAGS/s|$| $(LDNETINC)|g' \ + -e '/tcpliveplay_LDADD/s|$| $(LDNETLIB)|g' \ + src/Makefile.am || die + + eautoreconf +} + +src_configure() { + use elibc_musl && append-flags "-lfts" + # By default it uses static linking. Avoid that, bug #252940 + local myeconfargs=( + $(use_enable debug) + $(use_with tcpdump tcpdump "${ESYSROOT}"/usr/sbin/tcpdump) + --enable-dynamic-link + --enable-local-libopts + --enable-shared + --with-libdnet + --with-pcapnav-config=no + --with-testnic2=lo + --with-testnic=lo + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ! ${EUID} -eq 0 ]] ; then + ewarn "Some tests were disabled due to FEATURES=userpriv" + ewarn "To run all tests issue the following command as root:" + ewarn " # make -C ${S}/test" + emake -j1 -C test tcpprep + else + emake -j1 test || { + ewarn "Note that some tests require eth0 iface to be up." + die "self test failed - see ${S}/test/test.log" + } + fi +} diff --git a/net-analyzer/tcpslice/Manifest b/net-analyzer/tcpslice/Manifest new file mode 100644 index 000000000000..09601ebd70b9 --- /dev/null +++ b/net-analyzer/tcpslice/Manifest @@ -0,0 +1,2 @@ +DIST tcpslice-1.8.tar.xz 109956 BLAKE2B 684a74738d3b9b61dc019219fad04669963fef6785d8e112592c887f02045daacf9a19832520fe0f6338875f59b44c4336ea89827c849d2e2ce0bd53e3a8134f SHA512 94a2b312a97c4a1e38c176d6c8bb06fa64bdaa96915d0d2530b193013354704830f00a72f20077765262a3a59d6085ae581585b31856f5c37175571c99a23207 +DIST tcpslice-1.8.tar.xz.sig 442 BLAKE2B 351104c3409cb531203157013582d8920189f574d7a127a45ede0a1e3c162fed907aab1f67bdf1cc80a7b639ac76537915e79481883c037982be8fa9c88a5d81 SHA512 69e7a54444b5ad4f6dd8b108637baac3fbb132c0cc5c2a8308157b9bde199e9b43d6ea8a1ff0a7a641f98ec9cb464fe8d92635d686e254e6b5f504eca7bd8370 diff --git a/net-analyzer/tcpslice/metadata.xml b/net-analyzer/tcpslice/metadata.xml new file mode 100644 index 000000000000..b6405c108426 --- /dev/null +++ b/net-analyzer/tcpslice/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:tcpdump:tcpslice</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcpslice/tcpslice-1.8.ebuild b/net-analyzer/tcpslice/tcpslice-1.8.ebuild new file mode 100644 index 000000000000..09a3a01b633f --- /dev/null +++ b/net-analyzer/tcpslice/tcpslice-1.8.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tcpdump.asc" +inherit verify-sig + +DESCRIPTION="Extract and concatenate portions of pcap files" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpslice" +SRC_URI=" + https://www.tcpdump.org/release/${P}.tar.xz + verify-sig? ( https://www.tcpdump.org/release/${P}.tar.xz.sig ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240308 )" diff --git a/net-analyzer/tcptraceroute/Manifest b/net-analyzer/tcptraceroute/Manifest new file mode 100644 index 000000000000..c35620493f05 --- /dev/null +++ b/net-analyzer/tcptraceroute/Manifest @@ -0,0 +1 @@ +DIST tcptraceroute-1.5_beta7.tar.gz 119059 BLAKE2B e2d627c7fa96439e77be7d2fb5d57e0b92451367c95022876895fcbebdc0adf8c78b262e41ecb8a2696e8377e9862b45f2139cb8ca9d92a696d9a0dc319d4a64 SHA512 ad5588e62a56f1b5fa851b68280a88e66a900777fe4fd67587262245cd9da17b536b7dc972abe540fc124a93ac76abcabbc55bc32f9f8ee872d5df57b08f7222 diff --git a/net-analyzer/tcptraceroute/files/tcptraceroute-1.5_beta7-cross-compile-checks.patch b/net-analyzer/tcptraceroute/files/tcptraceroute-1.5_beta7-cross-compile-checks.patch new file mode 100644 index 000000000000..469f57d4add7 --- /dev/null +++ b/net-analyzer/tcptraceroute/files/tcptraceroute-1.5_beta7-cross-compile-checks.patch @@ -0,0 +1,62 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -148,11 +148,9 @@ + + # Is this Solaris? + AC_MSG_CHECKING(for Solaris) +-AC_RUN_IFELSE([AC_LANG_PROGRAM( [], [ +-#if defined (__SVR4) && defined (__sun) +- exit(0); +-#else +- exit(-1); ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [], [ ++#if ! ( defined (__SVR4) && defined (__sun) ) ++#error "Not Solaris" + #endif + ]) + ],[ +@@ -165,11 +163,9 @@ + + # Is this BSDI? + AC_MSG_CHECKING(for BSDI) +-AC_RUN_IFELSE([AC_LANG_PROGRAM( [], [ +-#if defined (__bsdi__) +- exit(0); +-#else +- exit(-1); ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [], [ ++#if ! defined (__bsdi__) ++#error "Not BSDI" + #endif + ]) + ],[ +@@ -182,11 +178,9 @@ + + # Is this NetBSD? + AC_MSG_CHECKING(for NetBSD) +-AC_RUN_IFELSE([AC_LANG_PROGRAM( [], [ +-#if defined (__NetBSD__) +- exit(0); +-#else +- exit(-1); ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [], [ ++#if ! defined (__NetBSD__) ++#error "Not NetBSD"; + #endif + ]) + ],[ +@@ -199,11 +193,9 @@ + + # Is this MacOS X? + AC_MSG_CHECKING(for MacOS X) +-AC_RUN_IFELSE([AC_LANG_PROGRAM( [], [ +-#if defined (__APPLE__) && defined (__MACH__) +- exit(0); +-#else +- exit(-1); ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [], [ ++#if ! ( defined (__APPLE__) && defined (__MACH__) ) ++#error "Not Mac OS X" + #endif + ]) + ],[ diff --git a/net-analyzer/tcptraceroute/metadata.xml b/net-analyzer/tcptraceroute/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/tcptraceroute/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcptraceroute/tcptraceroute-1.5_beta7-r3.ebuild b/net-analyzer/tcptraceroute/tcptraceroute-1.5_beta7-r3.ebuild new file mode 100644 index 000000000000..071e672a2c52 --- /dev/null +++ b/net-analyzer/tcptraceroute/tcptraceroute-1.5_beta7-r3.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools + +DESCRIPTION="tcptraceroute is a traceroute implementation using TCP packets" +HOMEPAGE="https://github.com/mct/tcptraceroute" +SRC_URI="https://github.com/mct/${PN}/archive/${P/_}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" + +DEPEND=" + net-libs/libnet:1.1 + net-libs/libpcap +" +RDEPEND="${DEPEND}" +RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${P}-cross-compile-checks.patch +) +S=${WORKDIR}/${PN}-${P/_} + +src_prepare() { + default + eautoreconf +} + +src_install() { + dosbin tcptraceroute + fowners root:wheel /usr/sbin/tcptraceroute + fperms 4710 /usr/sbin/tcptraceroute + doman tcptraceroute.1 + dodoc examples.txt README ChangeLog + docinto html + dodoc tcptraceroute.1.html +} diff --git a/net-analyzer/tcptrack/Manifest b/net-analyzer/tcptrack/Manifest new file mode 100644 index 000000000000..d72887a93fe3 --- /dev/null +++ b/net-analyzer/tcptrack/Manifest @@ -0,0 +1 @@ +DIST tcptrack-1.4.2.tar.gz 120569 BLAKE2B f6693225de09a9e9b1bf8984c328b54833a39ff87551119c0eca5197cb1a28de182205499e11c6e04fb63f04ad17188d46b2fb2ca6ff0a73a8ba404e5826db47 SHA512 a15e22b2d7cc144b2f3c662b6e289fe28b538188d234b262d801d4212027446534c9981ef9f2a48125657fa87a367c748a9d98e86b5f38f865a47dd24d478f89 diff --git a/net-analyzer/tcptrack/files/tcptrack-1.4.2-tinfo.patch b/net-analyzer/tcptrack/files/tcptrack-1.4.2-tinfo.patch new file mode 100644 index 000000000000..fe23b48221ec --- /dev/null +++ b/net-analyzer/tcptrack/files/tcptrack-1.4.2-tinfo.patch @@ -0,0 +1,11 @@ +--- a/configure.in ++++ b/configure.in +@@ -26,7 +26,7 @@ + AC_CHECK_LIB(socket,gethostbyname) + AC_CHECK_LIB(nsl,gethostbyname) + AC_CHECK_LIB(nsl,inet_addr) +-AC_CHECK_LIB(ncurses, initscr) ++PKG_CHECK_MODULES(ncurses,ncurses,LIBS="$LIBS $ncurses_LIBS",AC_MSG_ERROR([ncurses is required])) + AC_CHECK_LIB(pcap, pcap_open_live) + AC_CHECK_LIB(pthread, pthread_create) + AC_CHECK_LIB(rt, nanosleep) diff --git a/net-analyzer/tcptrack/metadata.xml b/net-analyzer/tcptrack/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/tcptrack/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tcptrack/tcptrack-1.4.2-r1.ebuild b/net-analyzer/tcptrack/tcptrack-1.4.2-r1.ebuild new file mode 100644 index 000000000000..414c3e59f269 --- /dev/null +++ b/net-analyzer/tcptrack/tcptrack-1.4.2-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Passive per-connection tcp bandwidth monitor" +HOMEPAGE="http://www.rhythm.cx/~steve/devel/tcptrack/" +SRC_URI="http://www.rhythm.cx/~steve/devel/tcptrack/release/${PV}/source/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-tinfo.patch +) + +src_prepare() { + default + + sed -i src/Makefile.am -e 's| -Werror||g' || die + sed -i src/TCPHeader.h -e '1i#include <sys/types.h>' || die # for musl + + mv configure.{in,ac} || die + + eautoreconf +} diff --git a/net-analyzer/telegraf/Manifest b/net-analyzer/telegraf/Manifest new file mode 100644 index 000000000000..4b68177b4987 --- /dev/null +++ b/net-analyzer/telegraf/Manifest @@ -0,0 +1,2 @@ +DIST telegraf-1.26.3-deps.tar.xz 598542112 BLAKE2B 654e2543b79927409a7f51a3b13ca5d917ef35559351ee48a581b0699ec4fe1eece9f8a3278243b02c79e17b08557d6f3d23584050cdaf461077c61f3435743c SHA512 8afdec12df3105678fad3272d80ab86438546a7de5190b01cbb0bffc3443deb6f4fd9540432c3b6e06dbfbc0739167daf15934248dea73bd59b5b2376fe4b5d2 +DIST telegraf-1.26.3.tar.gz 3893039 BLAKE2B 4285416c2e2a6e63dfbb3261cb5ef90c5fc0d2752e78913a2d8cd59a45b990e9735d65e9c762188325cf5696ac6fb619ff1d88f0b0017445fe3039d56c488b27 SHA512 c153d7eb19319d669328a94eade041ecaa6a30cc180915ca2b51b67c2d1d2e98572573c8970b78f815e74dec814ea9c02f4170aff1021fcb9e97c8974a0d0d6e diff --git a/net-analyzer/telegraf/files/telegraf.confd b/net-analyzer/telegraf/files/telegraf.confd new file mode 100644 index 000000000000..a643f8f3fd9a --- /dev/null +++ b/net-analyzer/telegraf/files/telegraf.confd @@ -0,0 +1,2 @@ +# Add any extra options to pass to telegraf to this setting. +#telegraf_opts="" diff --git a/net-analyzer/telegraf/files/telegraf.rc b/net-analyzer/telegraf/files/telegraf.rc new file mode 100644 index 000000000000..96e8a482f035 --- /dev/null +++ b/net-analyzer/telegraf/files/telegraf.rc @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +configdir="/etc/telegraf/telegraf.d" +configfile="/etc/telegraf/telegraf.conf" +error_log="${logfile:-/var/log/telegraf/telegraf.log}" +command=/usr/bin/telegraf +command_args="-config ${configfile} -config-directory ${configdir} + ${telegraf_opts}" +command_background=yes +command_user=telegraf:telegraf +make_pidfile=yes +pidfile=/var/run/telegraf.pid + +reload() { + ebegin "Reloading ${RC_SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-analyzer/telegraf/metadata.xml b/net-analyzer/telegraf/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/net-analyzer/telegraf/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/telegraf/telegraf-1.26.3-r1.ebuild b/net-analyzer/telegraf/telegraf-1.26.3-r1.ebuild new file mode 100644 index 000000000000..7cef4e8b9482 --- /dev/null +++ b/net-analyzer/telegraf/telegraf-1.26.3-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +MY_PV="${PV/_rc/-rc.}" +COMMIT=90f4eb29 +BRANCH=HEAD +VERSION=v${MY_PV} + +DESCRIPTION="The plugin-driven server agent for collecting & reporting metrics" +HOMEPAGE="https://github.com/influxdata/telegraf" + +SRC_URI="https://github.com/influxdata/telegraf/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RESTRICT+=" test" + +DEPEND="acct-group/telegraf + acct-user/telegraf" + RDEPEND="${DEPEND}" + +src_compile() { + unset LDFLAGS + emake -j1 \ + COMMIT=${COMMIT} \ + BRANCH=${BRANCH} \ + VERSION=v${MY_PV} +} + +src_install() { + dobin telegraf + insinto /etc/logrotate.d + doins etc/logrotate.d/telegraf + keepdir /etc/telegraf + keepdir /etc/telegraf/telegraf.d + systemd_dounit scripts/telegraf.service + newconfd "${FILESDIR}"/telegraf.confd telegraf + newinitd "${FILESDIR}"/telegraf.rc telegraf + dodoc -r *.md docs + keepdir /var/log/telegraf + fowners telegraf:telegraf /var/log/telegraf +} diff --git a/net-analyzer/termshark/Manifest b/net-analyzer/termshark/Manifest new file mode 100644 index 000000000000..759fadd45ab8 --- /dev/null +++ b/net-analyzer/termshark/Manifest @@ -0,0 +1,2 @@ +DIST termshark-2.4.0-deps.tar.xz 64667348 BLAKE2B 2406756070dfcb813a7e24ce4eb0790a17b4ecf865440c801bbaa07d0d5eb8c2eed1a37111bd59e8104f450464aa702d07fb483d4d7b2f51fb3cd272994bf6f6 SHA512 78d964d8fe317b4a70ba18bbd6bcf02cb1208c02b6d95018dfb49561996c3d3e0ba898d483cd4814b4ee0f28f1f757dc937829af5f6ffb4c36f98c480e8e324b +DIST termshark-2.4.0.tar.gz 427503 BLAKE2B df232595477d62480ba8ba994e635f01bc5a5ffd09378da37c01847d899e4938a92c8304e26ea425b7a72cfd71f918686a4683e1a04883c3c92e26104b9f84be SHA512 378bb67ff50a8dfa80f614540371f326627e73bdf63bceb183ed73afbbf9dead4e0597fb969ba49c4ee3d3de00ac7bb91166421c19c788df47ff8d9fcbc5b9fc diff --git a/net-analyzer/termshark/files/2.4.0-column-titles.patch b/net-analyzer/termshark/files/2.4.0-column-titles.patch new file mode 100644 index 000000000000..cbd76a6926b1 --- /dev/null +++ b/net-analyzer/termshark/files/2.4.0-column-titles.patch @@ -0,0 +1,50 @@ +https://github.com/gcla/termshark/pull/170 + +From: Gilbert Ramirez <gram@alumni.rice.edu> +Date: Sun, 19 Oct 2025 10:55:04 -0500 +Subject: [PATCH] Issue 169: With Wireshark 4.6.0, the column-title glossary changed + +A third column is now possible, so the column-format initializer +needs to handle it. Also, since the output is a simple +tab-separated-value format, we don't need regular expressions to +parse it. We only need to split on tab characters. +--- a/pkg/shark/columnformat.go ++++ b/pkg/shark/columnformat.go +@@ -8,7 +8,6 @@ import ( + "bufio" + "fmt" + "os/exec" +- "regexp" + "strconv" + "strings" + "sync" +@@ -239,8 +238,6 @@ func (w *ColumnsFromTshark) InitFromCache() error { + } + + func (w *ColumnsFromTshark) InitNoCache() error { +- re := regexp.MustCompile("\\s+") +- + cmd := exec.Command(termshark.TSharkBin(), []string{"-G", "column-formats"}...) + + out, err := cmd.StdoutPipe() +@@ -254,11 +251,17 @@ func (w *ColumnsFromTshark) InitNoCache() error { + + scanner := bufio.NewScanner(out) + for scanner.Scan() { +- fields := re.Split(scanner.Text(), 2) +- if len(fields) == 2 && strings.HasPrefix(fields[0], "%") { ++ fields := strings.Split(scanner.Text(), "\t") ++ ++ // Column 0: The format ++ // Column 1: The title of the column ++ // Column 2: The display filter field (optional) ++ if (len(fields) == 2 || len(fields) == 3) && strings.HasPrefix(fields[0], "%") { ++ // Remove trailing whitespace, if any ++ columnTitle := strings.TrimRight(fields[1], " ") + w.fields = append(w.fields, PsmlColumnSpec{ + Field: PsmlField{Token: fields[0]}, +- Name: fields[1], ++ Name: columnTitle, + }) + } + } diff --git a/net-analyzer/termshark/files/2.4.0-use-sort.Strings.patch b/net-analyzer/termshark/files/2.4.0-use-sort.Strings.patch new file mode 100644 index 000000000000..a184c99032c0 --- /dev/null +++ b/net-analyzer/termshark/files/2.4.0-use-sort.Strings.patch @@ -0,0 +1,18 @@ +https://github.com/gcla/termshark/pull/155 + +From: guoguangwu <guoguangwu@magic-shield.com> +Date: Wed, 5 Jul 2023 21:31:15 +0800 +Subject: [PATCH] chore: use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...)) + +Signed-off-by: guoguangwu <guoguangwu@magic-shield.com> +--- a/utils.go ++++ b/utils.go +@@ -693,7 +693,7 @@ func KeyValueErrorString(err gowid.KeyValueError) string { + for k := range err.KeyVals { + ks = append(ks, k) + } +- sort.Sort(sort.StringSlice(ks)) ++ sort.Strings(ks) + for _, k := range ks { + kvs = append(kvs, fmt.Sprintf("%v: %v", k, err.KeyVals[k])) + } diff --git a/net-analyzer/termshark/metadata.xml b/net-analyzer/termshark/metadata.xml new file mode 100644 index 000000000000..245e3a718967 --- /dev/null +++ b/net-analyzer/termshark/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>mario.haustein@hrz.tu-chemnitz.de</email> + <name>Mario Haustein</name> + </maintainer> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/termshark/termshark-2.4.0.ebuild b/net-analyzer/termshark/termshark-2.4.0.ebuild new file mode 100644 index 000000000000..3389b06f4f49 --- /dev/null +++ b/net-analyzer/termshark/termshark-2.4.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="A terminal UI for tshark, inspired by Wireshark" +HOMEPAGE="https://termshark.io/" +SRC_URI="https://github.com/gcla/termshark/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD-2 BSD MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# termshark doesn't link against wireshark. It reads data via IPC during +# runtime. +RDEPEND=" + net-analyzer/wireshark[dumpcap,pcap,tshark] +" + +PATCHES=( + "${FILESDIR}/2.4.0-column-titles.patch" + "${FILESDIR}/2.4.0-use-sort.Strings.patch" +) + +src_compile() { + ego build ./... +} + +src_test() { + ego test ./... +} + +src_install() { + GOBIN="${S}/bin" ego install ./... + + dobin bin/${PN} + dodoc README.md + dodoc docs/* +} diff --git a/net-analyzer/testssl/Manifest b/net-analyzer/testssl/Manifest new file mode 100644 index 000000000000..5a26ce4b604d --- /dev/null +++ b/net-analyzer/testssl/Manifest @@ -0,0 +1,5 @@ +DIST testssl-3.0.10.tar.gz 9478153 BLAKE2B 4e026aa25733e8e5a9ba7de7b5c28e8c9916a48582c7ca677b32a00ca21dc3f42825ee20efafd47d52d02dbf006d68c23b8272a4189e36f98e3e5664b07911c0 SHA512 900d8fac3b0b4c92e53805e9e137cdc143a5ec335ead38963cbce4aa538123e39ee5fd45d3ca3fc6316011f3c9fa9f39c0ceb2908f3ca0137663c05c4f42d040 +DIST testssl.sh-3.0.10.tar.gz 9478153 BLAKE2B 4e026aa25733e8e5a9ba7de7b5c28e8c9916a48582c7ca677b32a00ca21dc3f42825ee20efafd47d52d02dbf006d68c23b8272a4189e36f98e3e5664b07911c0 SHA512 900d8fac3b0b4c92e53805e9e137cdc143a5ec335ead38963cbce4aa538123e39ee5fd45d3ca3fc6316011f3c9fa9f39c0ceb2908f3ca0137663c05c4f42d040 +DIST testssl.sh-3.0.10.tar.gz.asc 833 BLAKE2B 75bfa10f0512c1c7839c168fb8ec24b707023d1be2b0f7a462c7f958f8fc52cee3f29df81ecf6c6aec3be94ed1deb6760a1ce1ef9e52f2633fade9408a85e9d0 SHA512 027d8329e6b3b9368b9d541a06a15ae89d4ed0cb5f925b4e7c57ca5ebabd5643d01ff5e184169f9132a4a913218ffed83999e4b37eccbe4d55b4574b28d068e4 +DIST testssl.sh-3.2.3.tar.gz 6996856 BLAKE2B ebf8d194c6220fe0273d9f6138fb1b2a3b2194a6eb3f47e548d4bb1cd7b3fe441f038748e8e6547c3b8e19dab1514fdde7f19441f6db4fb6bfe1ff9c8d815d34 SHA512 9b7889fbcf0a870333a5ff24e9fc10d159289f4b27ffcc427e924bc0354b8087e995c451a16e4eb1d0693a476075da433ffa3f9a1e3f1a5d603e506754db0898 +DIST testssl.sh-3.2.3.tar.gz.asc 508 BLAKE2B 61027fc7103186aa0a72ef50f8a7d467c87ad46345654ae45b3bebeea2eb7e9b1d1bb340b069a47a5c4d4f316695451c77b84dc80a4c941441700e3e9537550e SHA512 e3e02f1dea556a4c50fcdc65bafa3f7adb033cb9cbe934d9308532afd0fffd122de84eb41421dc48ae4e534c7ea5dead3e5d370a26adfc487702b6fdf5c07502 diff --git a/net-analyzer/testssl/metadata.xml b/net-analyzer/testssl/metadata.xml new file mode 100644 index 000000000000..e80a54047fe7 --- /dev/null +++ b/net-analyzer/testssl/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>cfuga@cfuga.mx</email> + <name>Cristian Othón MartÃnez Vera</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="bundled-openssl">Install precompiled versions of OpenSSL for greater testing coverage</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/testssl/testssl-3.0.10-r1.ebuild b/net-analyzer/testssl/testssl-3.0.10-r1.ebuild new file mode 100644 index 000000000000..f3ce39e7c7e9 --- /dev/null +++ b/net-analyzer/testssl/testssl-3.0.10-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/testssl.asc" +inherit verify-sig + +MY_PN="${PN}.sh" +MY_PV="${PV/_p/-}" + +DESCRIPTION="Tool to check TLS/SSL cipher support" +HOMEPAGE="https://testssl.sh/" +SRC_URI=" + https://testssl.sh/${MY_PN}-${MY_PV}.tar.gz + verify-sig? ( https://testssl.sh/${MY_PN}-${MY_PV}.tar.gz.asc ) +" +S=${WORKDIR}/${MY_PN}-${MY_PV} + +LICENSE="GPL-2 bundled-openssl? ( openssl )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="bundled-openssl kerberos" + +RDEPEND=" + app-alternatives/awk + >=app-shells/bash-3.2[net] + sys-apps/coreutils + sys-apps/grep + sys-apps/util-linux + sys-libs/ncurses + sys-process/procps + || ( + net-dns/bind + net-libs/ldns + ) + bundled-openssl? ( + kerberos? ( + virtual/zlib:= + virtual/krb5 + ) + ) + !bundled-openssl? ( dev-libs/openssl:0 ) +" +BDEPEND=" + verify-sig? ( >=sec-keys/openpgp-keys-testssl-20260210 ) +" + +QA_PREBUILT="opt/${PN}/*" + +pkg_setup() { + if use amd64; then + if use kerberos; then + BUNDLED_OPENSSL="openssl.Linux.x86_64.krb" + else + BUNDLED_OPENSSL="openssl.Linux.x86_64" + fi + elif use x86; then + BUNDLED_OPENSSL="openssl.Linux.i686" + fi +} + +src_prepare() { + default + sed -i ${PN}.sh \ + -e 's|TESTSSL_INSTALL_DIR="${TESTSSL_INSTALL_DIR:-""}"|TESTSSL_INSTALL_DIR="/"|' \ + -e 's|$TESTSSL_INSTALL_DIR/etc/|&testssl/|g' || die + + if use bundled-openssl; then + sed -i ${PN}.sh \ + -e "/find_openssl_binary()/a OPENSSL=\"/opt/${PN}/${BUNDLED_OPENSSL}\"" || die + fi +} + +src_install() { + dodoc CHANGELOG.md CREDITS.md Readme.md + dodoc openssl-iana.mapping.html + + dobin ${PN}.sh + + insinto /etc/${PN} + doins etc/* + + if use bundled-openssl; then + exeinto /opt/${PN} + use amd64 && doexe bin/${BUNDLED_OPENSSL} + fi +} diff --git a/net-analyzer/testssl/testssl-3.0.10.ebuild b/net-analyzer/testssl/testssl-3.0.10.ebuild new file mode 100644 index 000000000000..853c00a67497 --- /dev/null +++ b/net-analyzer/testssl/testssl-3.0.10.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="${PN}.sh" +MY_PV="${PV/_p/-}" + +DESCRIPTION="Tool to check TLS/SSL cipher support" +HOMEPAGE="https://testssl.sh/" +SRC_URI="https://github.com/${PN}/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S=${WORKDIR}/${MY_PN}-${MY_PV} + +LICENSE="GPL-2 bundled-openssl? ( openssl )" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64 x86" +IUSE="bundled-openssl kerberos" + +RDEPEND=" + app-alternatives/awk + >=app-shells/bash-3.2[net] + sys-apps/coreutils + sys-apps/grep + sys-apps/util-linux + sys-libs/ncurses + sys-process/procps + || ( + net-dns/bind + net-libs/ldns + ) + bundled-openssl? ( + kerberos? ( + virtual/zlib:= + virtual/krb5 + ) + ) + !bundled-openssl? ( dev-libs/openssl:0 ) +" + +QA_PREBUILT="opt/${PN}/*" + +pkg_setup() { + if use amd64; then + if use kerberos; then + BUNDLED_OPENSSL="openssl.Linux.x86_64.krb" + else + BUNDLED_OPENSSL="openssl.Linux.x86_64" + fi + elif use x86; then + BUNDLED_OPENSSL="openssl.Linux.i686" + fi +} + +src_prepare() { + default + sed -i ${PN}.sh \ + -e 's|TESTSSL_INSTALL_DIR="${TESTSSL_INSTALL_DIR:-""}"|TESTSSL_INSTALL_DIR="/"|' \ + -e 's|$TESTSSL_INSTALL_DIR/etc/|&testssl/|g' || die + + if use bundled-openssl; then + sed -i ${PN}.sh \ + -e "/find_openssl_binary()/a OPENSSL=\"/opt/${PN}/${BUNDLED_OPENSSL}\"" || die + fi +} + +src_install() { + dodoc CHANGELOG.md CREDITS.md Readme.md + dodoc openssl-iana.mapping.html + + dobin ${PN}.sh + + insinto /etc/${PN} + doins etc/* + + if use bundled-openssl; then + exeinto /opt/${PN} + use amd64 && doexe bin/${BUNDLED_OPENSSL} + fi +} diff --git a/net-analyzer/testssl/testssl-3.2.3.ebuild b/net-analyzer/testssl/testssl-3.2.3.ebuild new file mode 100644 index 000000000000..9df35b2a0d59 --- /dev/null +++ b/net-analyzer/testssl/testssl-3.2.3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/testssl.asc" +inherit optfeature verify-sig + +MY_PN="${PN}.sh" +MY_PV="${PV/_p/-}" + +DESCRIPTION="Tool to check TLS/SSL cipher support" +HOMEPAGE="https://testssl.sh/" +SRC_URI=" + https://testssl.sh/${MY_PN}-${MY_PV}.tar.gz + verify-sig? ( https://testssl.sh/${MY_PN}-${MY_PV}.tar.gz.asc ) +" +S=${WORKDIR}/${MY_PN}-${MY_PV} + +LICENSE="GPL-2 bundled-openssl? ( openssl )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="bundled-openssl" + +RDEPEND=" + app-alternatives/awk + >=app-shells/bash-3.2[net] + sys-apps/coreutils + sys-apps/grep + sys-apps/util-linux + sys-libs/ncurses + sys-process/procps + || ( + net-dns/bind + net-libs/ldns + ) + !bundled-openssl? ( >=dev-libs/openssl-1.1.1 ) +" +BDEPEND=" + verify-sig? ( >=sec-keys/openpgp-keys-testssl-20260210 ) +" + +QA_PREBUILT="opt/${PN}/*" + +pkg_setup() { + BUNDLED_OPENSSL="openssl.Linux.x86_64" +} + +src_prepare() { + default + sed -i ${PN}.sh \ + -e 's|TESTSSL_INSTALL_DIR="${TESTSSL_INSTALL_DIR:-""}"|TESTSSL_INSTALL_DIR="/"|' \ + -e 's|$TESTSSL_INSTALL_DIR/etc/|&testssl/|g' || die + + if use bundled-openssl; then + sed -i ${PN}.sh \ + -e "/find_openssl_binary()/a OPENSSL=\"/opt/${PN}/${BUNDLED_OPENSSL}\"" || die + fi +} + +src_install() { + dodoc CHANGELOG.md CREDITS.md Readme.md + dodoc openssl-iana.mapping.html + + dobin ${PN}.sh + + insinto /etc/${PN} + doins etc/* + + if use bundled-openssl; then + exeinto /opt/${PN} + doexe bin/${BUNDLED_OPENSSL} + fi +} + +pkg_postinst() { + optfeature "Check for STARTTLS injection issues" net-misc/socat + optfeature "Faster conversions from hexdump to binary" dev-util/xxd app-editors/vim-core +} diff --git a/net-analyzer/thc-ipv6/Manifest b/net-analyzer/thc-ipv6/Manifest new file mode 100644 index 000000000000..113b3be56137 --- /dev/null +++ b/net-analyzer/thc-ipv6/Manifest @@ -0,0 +1,2 @@ +DIST thc-ipv6-3.8.tar.gz 705821 BLAKE2B a2b57e13a47aacf1205b87c6f30cbea2468f47aad7232b92190995bf7ffbb64904d4d0cd187657c12584cd41e66cb0e4db3b6d826d41287aa020398de8ca7f91 SHA512 e3d8c80e1383e4825a3db717192446754d01e8e3098deb3075df0d60f79f014cefbd62a16c04379539e42c74513aa0f8bb97fc59221e100563aa7c6398a8b893 +DIST thc-ipv6-3.8_p20250914.gh.tar.gz 706436 BLAKE2B ca30894aea43ae76f146169e51c0985bfec134fb747f2d79525688ebd0e77e64490ef7fd4190464bf6494ed2a884c0bca419ac144dcca2fb54fc884546d591cc SHA512 0420b69361dd8461d40e28a87a69deb21ba61ca53e9f9402efd3f4378ce7aa32919c5430ca6d4e3cacf6cc82b1648826cb4e022d9a362c662a73d9c0c8c86050 diff --git a/net-analyzer/thc-ipv6/files/thc-ipv6-3.8_p20250914-fix_parallel.patch b/net-analyzer/thc-ipv6/files/thc-ipv6-3.8_p20250914-fix_parallel.patch new file mode 100644 index 000000000000..5fa21b0bb769 --- /dev/null +++ b/net-analyzer/thc-ipv6/files/thc-ipv6-3.8_p20250914-fix_parallel.patch @@ -0,0 +1,14 @@ +PR merged https://github.com/vanhauser-thc/thc-ipv6/pull/56.patch +See https://bugs.gentoo.org/972896 +Apply generic rules to PROGRAMS only, ensuring the library is built first w/ implicit rules and avoiding duplicate rules for EXTRA. +--- a/Makefile ++++ b/Makefile +@@ -36,7 +36,7 @@ fragrouter6: fragrouter6.c $(LIBS) + connsplit6: connsplit6.c $(LIBS) + -$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS) -lnetfilter_queue || /bin/echo -e "\nCompilation of connsplit6 failed, you have to install libnetfilter-queue-dev for this!\n" + +-%: %.c $(LIBS) ++$(PROGRAMS): %: %.c $(LIBS) + $(CC) $(CFLAGS) $(CPPFLAGS) $(STATIC) -o $@ $^ $(LDFLAGS) + + strip: all diff --git a/net-analyzer/thc-ipv6/metadata.xml b/net-analyzer/thc-ipv6/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/net-analyzer/thc-ipv6/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/thc-ipv6/thc-ipv6-3.8.ebuild b/net-analyzer/thc-ipv6/thc-ipv6-3.8.ebuild new file mode 100644 index 000000000000..53f532b0d072 --- /dev/null +++ b/net-analyzer/thc-ipv6/thc-ipv6-3.8.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Complete tool set to attack the inherent protocol weaknesses of IPV6 and ICMP6" +HOMEPAGE="https://github.com/vanhauser-thc/thc-ipv6" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/vanhauser-thc/thc-ipv6.git" + EGIT_BRANCH=master + inherit git-r3 +else + SRC_URI="https://github.com/vanhauser-thc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="AGPL-3 openssl" +SLOT="0" +IUSE="ssl" + +DEPEND=" + net-libs/libnetfilter_queue + net-libs/libpcap + ssl? ( dev-libs/openssl:0= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + sed -e '/^CFLAGS+=-g/s,CFLAGS+=,CFLAGS?=,' \ + -i Makefile || die + + if ! use ssl; then + sed -e '/^HAVE_SSL/s:^:#:' \ + -i Makefile || die + fi + + default +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="/usr" STRIP="true" install + dodoc CHANGES HOWTO-INJECT README +} diff --git a/net-analyzer/thc-ipv6/thc-ipv6-3.8_p20250914.ebuild b/net-analyzer/thc-ipv6/thc-ipv6-3.8_p20250914.ebuild new file mode 100644 index 000000000000..bdf8ce8c98b2 --- /dev/null +++ b/net-analyzer/thc-ipv6/thc-ipv6-3.8_p20250914.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Complete tool set to attack the inherent protocol weaknesses of IPV6 and ICMP6" +HOMEPAGE="https://github.com/vanhauser-thc/thc-ipv6" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/vanhauser-thc/thc-ipv6.git" + EGIT_BRANCH=master + inherit git-r3 +else + HASH="7f3589fab681966d0b0c76ab9709ff9cafbd009a" + S="${WORKDIR}/${PN}-${HASH}" + SRC_URI="https://github.com/vanhauser-thc/thc-ipv6/archive/${HASH}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="AGPL-3 openssl" +SLOT="0" +IUSE="ssl" + +DEPEND=" + net-libs/libnetfilter_queue + net-libs/libpcap + ssl? ( dev-libs/openssl:0= ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + # merged + "${FILESDIR}"/${P}-fix_parallel.patch +) + +src_prepare() { + sed -e '/^CFLAGS+=-g/s,CFLAGS+=,CFLAGS?=,' \ + -i Makefile || die + + if ! use ssl; then + sed -e '/^HAVE_SSL/s:^:#:' \ + -i Makefile || die + fi + + default +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" STRIP="true" install + dodoc CHANGES HOWTO-INJECT README.md +} diff --git a/net-analyzer/thc-ipv6/thc-ipv6-9999.ebuild b/net-analyzer/thc-ipv6/thc-ipv6-9999.ebuild new file mode 100644 index 000000000000..d1e5d1c4b80d --- /dev/null +++ b/net-analyzer/thc-ipv6/thc-ipv6-9999.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Complete tool set to attack the inherent protocol weaknesses of IPV6 and ICMP6" +HOMEPAGE="https://github.com/vanhauser-thc/thc-ipv6" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/vanhauser-thc/thc-ipv6.git" + EGIT_BRANCH=master + inherit git-r3 +else + SRC_URI="https://github.com/vanhauser-thc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="AGPL-3 openssl" +SLOT="0" +IUSE="ssl" + +DEPEND=" + net-libs/libnetfilter_queue + net-libs/libpcap + ssl? ( dev-libs/openssl:0= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + sed -e '/^CFLAGS+=-g/s,CFLAGS+=,CFLAGS?=,' \ + -i Makefile || die + + if ! use ssl; then + sed -e '/^HAVE_SSL/s:^:#:' \ + -i Makefile || die + fi + + default +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="/usr" STRIP="true" install + dodoc CHANGES HOWTO-INJECT README.md +} diff --git a/net-analyzer/thrulay/Manifest b/net-analyzer/thrulay/Manifest new file mode 100644 index 000000000000..39970ea4d158 --- /dev/null +++ b/net-analyzer/thrulay/Manifest @@ -0,0 +1 @@ +DIST thrulay-0.9.tar.gz 370312 BLAKE2B fdcbc0785ccc61bb85454d878f46bef97c346dd8c8a54591c993940615a8047b24fad00ffca5c3db6d7c1303b42c67f45b828e899564d7c920cc83924e3a18c2 SHA512 9655ef37f6ef3ba51a2fadacf08978fb1c284af6b571dbf76c44e5582bf705bec08170b3b2cc69512b8327485dfd3f758ed2addf510a075558aea70eb4779a6f diff --git a/net-analyzer/thrulay/files/thrulayd-conf.d b/net-analyzer/thrulay/files/thrulayd-conf.d new file mode 100644 index 000000000000..a1350488a714 --- /dev/null +++ b/net-analyzer/thrulay/files/thrulayd-conf.d @@ -0,0 +1,8 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# The default window size is 4194304 bytes +#THRULAYD_WINDOW="4194304" + +# By default, thrulayd will listen on 5003/tcp +#THRULAYD_PORT="5003" diff --git a/net-analyzer/thrulay/files/thrulayd-init.d b/net-analyzer/thrulay/files/thrulayd-init.d new file mode 100644 index 000000000000..8fa9f4bc6ba5 --- /dev/null +++ b/net-analyzer/thrulay/files/thrulayd-init.d @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net +} + +start() { + [ -n "${THRULAYD_WINDOW}" ] && THRULAYD_OPTS="${THRULAYD_OPTS} -w${THRULAYD_WINDOW}" + [ -n "${THRULAYD_PORT}" ] && THRULAYD_OPTS="${THRULAYD_OPTS} -p${THRULAYD_PORT}" + ebegin "Starting thrulayd" + start-stop-daemon --start --quiet --exec /usr/sbin/thrulayd -- ${THRULAYD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping thrulayd" + start-stop-daemon --stop --quiet --exec /usr/sbin/thrulayd + eend $? +} diff --git a/net-analyzer/thrulay/metadata.xml b/net-analyzer/thrulay/metadata.xml new file mode 100644 index 000000000000..5d08ae950a93 --- /dev/null +++ b/net-analyzer/thrulay/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/thrulay/thrulay-0.9-r1.ebuild b/net-analyzer/thrulay/thrulay-0.9-r1.ebuild new file mode 100644 index 000000000000..c5535ff76b1e --- /dev/null +++ b/net-analyzer/thrulay/thrulay-0.9-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Measure the capacity of a network by sending a bulk TCP stream over it" +HOMEPAGE="http://www.internet2.edu/~shalunov/thrulay/" +SRC_URI=" + http://www.internet2.edu/~shalunov/thrulay/${P}.tar.gz + https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +# init.d is GPL-2 +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +src_prepare() { + default + + echo 'thrulay thrulayd: libthrulay.la' >> src/Makefile.am || die + eautoreconf +} + +src_configure() { + econf --disable-static +} + +src_install() { + default + + dodoc doc/thrulay-protocol.txt + doman doc/thrulay*.[1-8] + + newinitd "${FILESDIR}"/thrulayd-init.d thrulayd + newconfd "${FILESDIR}"/thrulayd-conf.d thrulayd + + # no static archives + find "${D}" -name '*.la' -delete || die +} diff --git a/net-analyzer/tleds/Manifest b/net-analyzer/tleds/Manifest new file mode 100644 index 000000000000..875d0ad7c6d7 --- /dev/null +++ b/net-analyzer/tleds/Manifest @@ -0,0 +1,2 @@ +DIST tleds-1.05beta10.tgz 28640 BLAKE2B d51104cc4f6341e383582edbb65bd4e7057807fbca33fe9c6d6daca519f804c6e5170c547b6a42e629d000eb3243c0c64e6ab0517293f12b34744b7eca8b19b0 SHA512 661ac8749c85ce20ffc2851a62ee7691e6cddf3700f4a388465bbdf2faa117d8bd6e316541bc5e2fa81d18f74d47bdd78010b8490124f39b6a1c085c4d345d3a +DIST tleds-1.05beta11.patch.bz2 5540 BLAKE2B 91da2fbcd339be7d313645f63b3daf9404a82a9678e1f562aae357ed16c6d3d47d8d38f021cf367b0038987e8a5d667cf650c4ca5e2184cdb1f4f1c1f67b1b45 SHA512 8c6e5b28e055fd546af97244230560cb22d7def65a8c16e0257d9f41b789394f744a056a95bf7d9f6fb9dcf8ab0bcacfc8fce7c91d0e8be798ae2af4817ce1a4 diff --git a/net-analyzer/tleds/files/tleds-1.05_beta11-gentoo.patch b/net-analyzer/tleds/files/tleds-1.05_beta11-gentoo.patch new file mode 100644 index 000000000000..96e6e3d21d45 --- /dev/null +++ b/net-analyzer/tleds/files/tleds-1.05_beta11-gentoo.patch @@ -0,0 +1,53 @@ +--- a/Changes ++++ b/Changes +@@ -1,4 +1,7 @@ + VERSION DATE WHAT WAS FIXED OR WHAT WAS/IS NEW ++ ++ 2 Jul 2002 2.4/2.5 patch ++ + 1.05b11 7 Mar 2002 Support for multiple interfaces + + 1.05b7 2 Apr 1998 Keeps LEDs deattached also after VT is reset if run +--- a/tleds.c ++++ b/tleds.c +@@ -43,16 +43,6 @@ + #define VERSION "1.05beta11" + #define MYNAME "tleds" + +-/* Supported kernel version */ +-/* If you want to compile for Linux 2.1.x add -DKERNEL2_1 to gcc options. */ +-/* Currently kernel v2.1.97 is "tested", older v2.1.x kernels may not work */ +-#ifdef KERNEL2_1 +-#undef KERNEL2_1 +-#define KERNEL2_0 0 +-#else +-#define KERNEL2_0 1 +-#endif +- + /* If you don't want X stuff. */ + #ifdef NO_X_SUPPORT + #define REMOVE_X_CODE 1 +--- a/Makefile ++++ b/Makefile +@@ -9,18 +9,18 @@ + + # For 2.1.x kernels, you have to include -DKERNEL2_1 option for gcc + +-GCCOPTS = -D_GNU_SOURCE -O3 -Wall ++GCCOPTS = -D_GNU_SOURCE $(CFLAGS) $(LDFLAGS) -Wall + + # The first one is if you want to include X code + xtleds: tleds.c Makefile + # Making xtleds +- gcc $(GCCOPTS) -o xtleds tleds.c -I /usr/X11R6/include/ -L /usr/X11R6/lib/ -lX11 ++ $(CC) $(GCCOPTS) -o xtleds tleds.c -I /usr/include/ -L /usr/lib/ -lX11 + + # This second one works only when started in VT. Check the REMOVE_X_CODE + # in the source code. + tleds: tleds.c Makefile + # Making tleds +- gcc -DNO_X_SUPPORT $(GCCOPTS) -o tleds tleds.c ++ $(CC) -DNO_X_SUPPORT $(GCCOPTS) -o tleds tleds.c + + help: + # make help - this. diff --git a/net-analyzer/tleds/files/tleds.conf.d b/net-analyzer/tleds/files/tleds.conf.d new file mode 100644 index 000000000000..cfca606342c9 --- /dev/null +++ b/net-analyzer/tleds/files/tleds.conf.d @@ -0,0 +1,6 @@ +# Copyright 2003-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +IFACE="eth0" +DELAY=50 +EXTRA_OPTS="" diff --git a/net-analyzer/tleds/files/tleds.init.d b/net-analyzer/tleds/files/tleds.init.d new file mode 100644 index 000000000000..9815c3b8a621 --- /dev/null +++ b/net-analyzer/tleds/files/tleds.init.d @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + + +depend() { + need net +} + +start() { + ebegin "Starting tleds" + /usr/sbin/tleds -d ${DELAY} ${IFACE} ${EXTRA_OPTS} > /dev/null + eend $? +} + +stop() { + ebegin "Stopping tleds" + /usr/sbin/tleds -k > /dev/null + eend $? +} + diff --git a/net-analyzer/tleds/metadata.xml b/net-analyzer/tleds/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/tleds/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tleds/tleds-1.05_beta11-r2.ebuild b/net-analyzer/tleds/tleds-1.05_beta11-r2.ebuild new file mode 100644 index 000000000000..50d2d48db744 --- /dev/null +++ b/net-analyzer/tleds/tleds-1.05_beta11-r2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_P="${P/_/}" +DESCRIPTION="Blinks keyboard LEDs indicating outgoing and incoming network packets" +HOMEPAGE="http://www.hut.fi/~jlohikos/tleds_orig.html" +SRC_URI=" + http://www.hut.fi/~jlohikos/tleds/public/${MY_P/11/10}.tgz + http://www.hut.fi/~jlohikos/tleds/public/${MY_P}.patch.bz2 +" +S="${WORKDIR}/${MY_P/eta11/}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="X" + +DEPEND="X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${WORKDIR}"/${MY_P}.patch + "${FILESDIR}"/${P}-gentoo.patch +) + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + $(usex X all tleds) +} + +src_install() { + dosbin tleds + use X && dosbin xtleds + + doman tleds.1 + dodoc README Changes + + newinitd "${FILESDIR}"/tleds.init.d tleds + newconfd "${FILESDIR}"/tleds.conf.d tleds +} diff --git a/net-analyzer/tptest/Manifest b/net-analyzer/tptest/Manifest new file mode 100644 index 000000000000..612d7fb052a5 --- /dev/null +++ b/net-analyzer/tptest/Manifest @@ -0,0 +1 @@ +DIST tptest-3.1.7.tar.gz 313801 BLAKE2B cf4cc6e1e76dbaee8925d9432335ec0a28fcf790dba5c85568ea538fe442c55c8a3ad7ac4fbf4cb1c4ed967cc18dab50212ab26915232bd7fc284dc4e6f0278b SHA512 c78fdbc561adbe109be9fc45a2dbd5c452235525ac4d5f24e39fd8824825fd02c35853411c3f4ae1870f98b576df37f3f1f1266de7c40edcb8f35c69b9063c59 diff --git a/net-analyzer/tptest/files/tptest-3.1.7-clang16-build-fix.patch b/net-analyzer/tptest/files/tptest-3.1.7-clang16-build-fix.patch new file mode 100644 index 000000000000..69b27d97ad05 --- /dev/null +++ b/net-analyzer/tptest/files/tptest-3.1.7-clang16-build-fix.patch @@ -0,0 +1,11 @@ +Bug: https://bugs.gentoo.org/897832 +--- a/apps/unix/server/server.c ++++ b/apps/unix/server/server.c +@@ -50,6 +50,7 @@ + #include <sys/file.h> + #include <sys/stat.h> + #include <sys/wait.h> ++#include <fcntl.h> + + // #include <net/if.h> + // #include <netinet/in.h> diff --git a/net-analyzer/tptest/files/tptest-3.1.7-getstatsfromlinevuln.patch b/net-analyzer/tptest/files/tptest-3.1.7-getstatsfromlinevuln.patch new file mode 100644 index 000000000000..4b7fd209f9e4 --- /dev/null +++ b/net-analyzer/tptest/files/tptest-3.1.7-getstatsfromlinevuln.patch @@ -0,0 +1,150 @@ +--- a/engine/tpcommon.c ++++ b/engine/tpcommon.c +@@ -37,6 +37,8 @@ + #include <stdio.h> + #include <string.h> + #include <stdarg.h> ++#include <stdlib.h> ++#include <stddef.h> + + #ifdef UNIX + #include <sys/time.h> +@@ -194,68 +196,76 @@ done: + + + // Fill a tpStats structure with the contents from a STATS line +-int GetStatsFromLine(char *line, TPStats *s) ++int GetStatsFromLine(const char *line, TPStats *s) + { + char valBuf[30]; ++ char * stats_ptr = NULL; + + if (strncmp(line, "STATS ", 6) != 0) + return -1; +- memset(valBuf, 0, 30); ++ memset(valBuf, 0, sizeof(valBuf)); ++ stats_ptr = ((char *)line)+6; + +- if (CopyTagField(valBuf, 29, line+6, "majorv")) +- s->MajorVersion = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "minorv")) +- s->MinorVersion = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "pktssent")) +- s->PktsSent = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "pktsunsent")) +- s->PktsUnSent = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "pktsrcvd")) +- s->PktsRecvd = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "bytessent")) ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "majorv")) ++ s->MajorVersion = (USHORT) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "minorv")) ++ s->MinorVersion = (USHORT) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "pktssent")) ++ s->PktsSent = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "pktsunsent")) ++ s->PktsUnSent = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "pktsrcvd")) ++ s->PktsRecvd = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "bytessent")) + sscanf(valBuf, "%" LONG_LONG_PREFIX "d", &(s->BytesSent)); +- if (CopyTagField(valBuf, 29, line+6, "bytesrcvd")) ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "bytesrcvd")) + sscanf(valBuf, "%" LONG_LONG_PREFIX "d", &(s->BytesRecvd)); +- if (CopyTagField(valBuf, 29, line+6, "maxrtt")) +- s->MaxRoundtrip = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "minrtt")) +- s->MinRoundtrip = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "oocount")) +- s->ooCount = atoi(valBuf); +- +- if (CopyTagField(valBuf, 29, line+6, "txstart_s")) +- s->StartSend.tv_sec = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "txstart_us")) +- s->StartSend.tv_usec = atoi(valBuf); +- +- if (CopyTagField(valBuf, 29, line+6, "txstop_s")) +- s->StopSend.tv_sec = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "txstop_us")) +- s->StopSend.tv_usec = atoi(valBuf); +- +- if (CopyTagField(valBuf, 29, line+6, "rxstart_s")) +- s->StartRecv.tv_sec = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "rxstart_us")) +- s->StartRecv.tv_usec = atoi(valBuf); +- +- if (CopyTagField(valBuf, 29, line+6, "rxstop_s")) +- s->StopRecv.tv_sec = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "rxstop_us")) +- s->StopRecv.tv_usec = atoi(valBuf); +- +- if (CopyTagField(valBuf, 29, line+6, "totrtt")) +- s->TotalRoundtrip = atoi(valBuf); +- if (CopyTagField(valBuf, 29, line+6, "nortt")) +- s->nRoundtrips = atoi(valBuf); +- +- if (CopyTagField(valBuf, 101, line + 6, "email")) +- strcpy(s->email, valBuf); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "maxrtt")) ++ s->MaxRoundtrip = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "minrtt")) ++ s->MinRoundtrip = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "oocount")) ++ s->ooCount = (UINT32) strtoul(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "txstart_s")) ++ s->StartSend.tv_sec = strtol(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "txstart_us")) ++ s->StartSend.tv_usec = strtol(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "txstop_s")) ++ s->StopSend.tv_sec = strtol(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "txstop_us")) ++ s->StopSend.tv_usec = strtol(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "rxstart_s")) ++ s->StartRecv.tv_sec = strtol(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "rxstart_us")) ++ s->StartRecv.tv_usec = strtol(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "rxstop_s")) ++ s->StopRecv.tv_sec = strtol(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "rxstop_us")) ++ s->StopRecv.tv_usec = strtol(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "totrtt")) ++ s->TotalRoundtrip = (UINT32) strtoul(valBuf,NULL,10); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "nortt")) ++ s->nRoundtrips = (UINT32) strtoul(valBuf,NULL,10); ++ ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "email")) ++ { ++ strncpy(s->email, valBuf, sizeof(s->email)); ++ s->email[sizeof(s->email)-1] = '\0'; ++ } + +- if (CopyTagField(valBuf, 101, line + 6, "pwd")) +- strcpy(s->pwd, valBuf); ++ if (CopyTagField(valBuf, sizeof(valBuf)-1, stats_ptr, "pwd")) ++ { ++ strncpy(s->pwd, valBuf, sizeof(s->pwd)); ++ s->pwd[sizeof(s->pwd)-1] = '\0'; ++ } + ++ stats_ptr = NULL; + return 0; +- + } + + +--- a/engine/tpcommon.h ++++ b/engine/tpcommon.h +@@ -43,7 +43,7 @@ int SameTag(char *s1, char *s2); + int CopyTagField(char *destp, int destSize, char *srcp, char *pname); + int GetSessionFromLine(char *, TPEngine *); + char * CreateSessionLine(TPEngine *, char *); +-int GetStatsFromLine(char *, TPStats *); ++int GetStatsFromLine(const char *, TPStats *); + char * CreateLineFromStats(TPStats *, char *); + int ReplyCode(char *); + void TVAddUSec(struct timeval *, int); diff --git a/net-analyzer/tptest/metadata.xml b/net-analyzer/tptest/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/tptest/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tptest/tptest-3.1.7-r3.ebuild b/net-analyzer/tptest/tptest-3.1.7-r3.ebuild new file mode 100644 index 000000000000..7bb8951e6b5d --- /dev/null +++ b/net-analyzer/tptest/tptest-3.1.7-r3.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV="${PV/./_}" + +DESCRIPTION="Internet bandwidth tester" +HOMEPAGE="https://tptest.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ~sparc x86" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.7-getstatsfromlinevuln.patch + "${FILESDIR}"/${PN}-3.1.7-clang16-build-fix.patch +) + +src_prepare() { + default + + sed -i apps/unix/{client,server}/Makefile \ + -e "s:^CFLAGS[[:space:]]*=:CFLAGS+=:" \ + || die + + cp -f os-dep/unix/* . || die + cp -f engine/* . || die +} + +src_compile() { + emake -C apps/unix/client \ + CC="$(tc-getCC)" \ + LDFLAGS="${LDFLAGS}" + + emake -C apps/unix/server \ + CC="$(tc-getCC)" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin apps/unix/client/tptestclient + dosbin apps/unix/server/tptestserver + + insinto /etc + doins apps/unix/server/tptest.conf +} diff --git a/net-analyzer/tracebox/Manifest b/net-analyzer/tracebox/Manifest new file mode 100644 index 000000000000..2633bec43216 --- /dev/null +++ b/net-analyzer/tracebox/Manifest @@ -0,0 +1 @@ +DIST tracebox-0.4.4.tar.gz 76828 BLAKE2B 0c3fbe9ea3fd5a967c85cf7b175900d899885f6c43ca8ffa32ba98256490b5bc23e8f80618208df6ec05f0484e5ce27599528aa5d84e331ac71eca960b6b1fd0 SHA512 2113d6ed4543b0c3a9b44bc92c4eb8ab2a860b4409a5eba374b9960ddb4ba299a33c0dea49595c94bc725eda36633d8bb698236d662ea9cc1027070b597c52f6 diff --git a/net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch b/net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch new file mode 100644 index 000000000000..612132d157f4 --- /dev/null +++ b/net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch @@ -0,0 +1,214 @@ +- do not link to bundled + * dev-libs/json-c + * net-libs/libcrafter +- allow different lua versions + +--- a/configure.ac ++++ b/configure.ac +@@ -14,6 +14,8 @@ + AC_HEADER_STDC + AC_HEADER_ASSERT + ++PKG_PROG_PKG_CONFIG ++ + AX_CXX_COMPILE_STDCXX_11 + + # Checks for header files. +@@ -32,40 +34,14 @@ + AC_FUNC_FORK + AC_CHECK_FUNCS([gettimeofday memset select socket strtol]) + +-AC_ARG_WITH(lua, +-[ --with-lua=DIR use lua in DIR], +-[ case "$withval" in +- yes|no) +- AC_MSG_RESULT(no) +- ;; +- *) +- AC_MSG_RESULT($withval) +- if test -f $withval/lua.h -a -f $withval/liblua.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- LUA_INCLUDE="-I$withval" +- LUA_LIB="-L$withval -llua" +- LIBS="$LIBS -lm" +- elif test -f $withval/include/lua.h -a -f $withval/lib/liblua.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- LUA_INCLUDE="-I$withval/include" +- LUA_LIB="-L$withval/lib -llua" +- LIBS="$LIBS -lm" +- else +- AC_ERROR("lua.h or liblua.a not found in $withval") +- fi +- ;; +- esac ], +- [ +- AX_PROG_LUA +- AX_LUA_HEADERS +- AX_LUA_LIBS +- if test x"$LUA_LIB" = x; then +- AC_MSG_ERROR([Lua library not found. You may try option --with-lua-suffix.]) +- fi +- ] +-) ++PKG_CHECK_MODULES([LUA53], [lua-5.3], [LUA_FOUND=5.3; LUA_INCLUDE="${LUA53_CFLAGS}"; LUA_LIB="${LUA53_LIBS}"],AC_MSG_WARN([lua 5.3 not found])) ++PKG_CHECK_MODULES([LUA52], [lua-5.2], [LUA_FOUND=5.2; LUA_INCLUDE="${LUA52_CFLAGS}"; LUA_LIB="${LUA52_LIBS}"],AC_MSG_WARN([lua 5.2 not found])) ++PKG_CHECK_MODULES([LUA51], [lua5.1], [LUA_FOUND=5.1; LUA_INCLUDE="${LUA51_CFLAGS}"; LUA_LIB="${LUA51_LIBS}"],AC_MSG_WARN([lua 5.1 not found])) ++PKG_CHECK_MODULES([LUA], [lua], [LUA_FOUND=5.1-noSLOT; LUA_INCLUDE="${LUA_CFLAGS}"; LUA_LIB="${LUA_LIBS}"],AC_MSG_WARN([lua 5.1 not found])) ++ ++if test -z "$LUA_FOUND"; then ++ AC_MSG_ERROR([lua 5.3, 5.2 or 5.1 is required]) ++fi + AC_SUBST(LUA_INCLUDE) + AC_SUBST(LUA_LIB) + +@@ -121,24 +97,12 @@ + AC_ARG_WITH(json, + [ --with-json=DIR use json-c in DIR], + [ case "$withval" in +- yes|no) ++ no) + AC_MSG_RESULT(no) + ;; + *) + AC_MSG_RESULT($withval) +- if test -f $withval/json.h -a -f $withval/libjson-c.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- JSON_INCLUDE="-I$withval" +- JSON_LIB="-L$withval -ljson-c" +- elif test -f $withval/include/json-c/json.h -a -f $withval/lib/libjson-c.a; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- JSON_INCLUDE="-I$withval/include" +- JSON_LIB="-L$withval/lib -ljson-c" +- else +- AC_ERROR("json.h or libjson-c.a not found in $withval") +- fi ++ PKG_CHECK_MODULES([JSON], [json-c], [JSON_INCLUDE="${JSON_CFLAGS}"; JSON_LIB="${JSON_LIBS}"],AC_MSG_ERROR([json-c was requested but not found])) + AC_SUBST(JSON_INCLUDE) + AC_SUBST(JSON_LIB) + AC_DEFINE([HAVE_JSONC], [1], [Using json-c]) +@@ -153,41 +117,7 @@ + ] + ) + +-AC_MSG_CHECKING(for libpcap) +-AC_ARG_WITH(libpcap, +-[ --with-libpcap=DIR use libpcap in DIR], +-[ case "$withval" in +- yes|no) +- AC_MSG_RESULT(no) +- ;; +- *) +- AC_MSG_RESULT($withval) +- if test -f $withval/pcap.h -a \ +- -f $withval/libpcap.a -a \ +- -d $withval/pcap; then +- owd=`pwd` +- if cd $withval; then withval=`pwd`; cd $owd; fi +- PCAPINC="-I$withval -I$withval/bpf" +- PCAPLIB="-L$withval -lpcap" +- else +- AC_ERROR(pcap.h, net/bpf.h, or libpcap.a not found in $withval) +- fi +- ;; +- esac ], +-[ if test -f ${prefix}/include/pcap.h; then +- PCAPINC="-I${prefix}/include" +- PCAPLIB="-L${prefix}/lib -lpcap" +- elif test -f /usr/include/pcap/pcap.h; then +- PCAPINC="-I/usr/include/pcap" +- PCAPLIB="-lpcap" +- elif test -f /usr/include/pcap.h; then +- PCAPLIB="-lpcap" +- else +- AC_MSG_RESULT(no) +- AC_ERROR(libpcap not found) +- fi +- AC_MSG_RESULT(yes) ] +-) ++PKG_CHECK_MODULES([PCAP], [libpcap], [PCAPINC="${PCAP_CFLAGS}"; PCAPLIB="${PCAP_LIBS}"],AC_MSG_ERROR([libpcap is required])) + AC_SUBST(PCAPINC) + AC_SUBST(PCAPLIB) + +@@ -234,17 +164,7 @@ + AC_CHECK_LIB([pthread], [pthread_create]) + ]) + +-# Make sure libcrafter build a static library by adding the --disable-shared +-# argument to the configure script. +-ac_configure_args_pre="$ac_configure_args" +-ac_configure_args_post="$ac_configure_args --disable-shared" +-ac_configure_args="$ac_configure_args_post" +- +-AC_CONFIG_COMMANDS_PRE([ac_configure_args="$ac_configure_args_pre"]) +-AC_CONFIG_COMMANDS_POST([ac_configure_args="$ac_configure_args_post"]) +-AC_CONFIG_SUBDIRS(noinst/libcrafter/libcrafter) +- +-ac_configure_args="$ac_configure_args_pre" ++PKG_CHECK_MODULES([crafter], [crafter], [LIBS="$LIBS $crafter_LIBS"],AC_MSG_ERROR([libcrafter is required])) + + # Enable click submodule + AS_IF([test "x$enable_tests" = "xyes"], [ +@@ -254,7 +174,6 @@ + + AC_CONFIG_COMMANDS_PRE([ac_configure_args="$ac_configure_args_pre"]) + AC_CONFIG_COMMANDS_POST([ac_configure_args="$ac_configure_args_post"]) +- AC_CONFIG_SUBDIRS(tests/tools/click) + + ac_configure_args="$ac_configure_args_pre" + ]) +@@ -271,7 +190,6 @@ + + AC_CONFIG_FILES([ + Makefile +- noinst/Makefile + src/Makefile + src/tracebox/Makefile + tests/Makefile +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,8 +8,8 @@ + MAYBE_DOC = doc + endif + +-SUBDIRS = noinst src $(MAYBE_OPT) $(MAYBE_DOC) +-DIST_SUBDIRS = noinst src tests doc ++SUBDIRS = src $(MAYBE_OPT) $(MAYBE_DOC) ++DIST_SUBDIRS = src tests doc + + debian-package: + dpkg-buildpackage -rfakeroot -tc -us -uc +--- a/noinst/Makefile.am ++++ b/noinst/Makefile.am +@@ -1,4 +1,3 @@ +-DIST_SUBDIRS = libcrafter/libcrafter + + all-local: + cd libcrafter/libcrafter && $(MAKE) $(AM_MAKEFLAGS) all +--- a/src/tracebox/Makefile.am ++++ b/src/tracebox/Makefile.am +@@ -4,7 +4,6 @@ + + dist_man_MANS = tracebox.1 + +-dist_bin_SCRIPTS = luatracebox + + SUBDIRS = examples + +@@ -78,13 +77,11 @@ + + tracebox_LDADD = \ + $(EXTRALIBS) \ +- $(abs_top_builddir)/noinst/libcrafter/libcrafter/libcrafter.la \ + $(LUA_LIB) \ + $(PCAPLIB) \ + $(JSON_LIB) + + tracebox_CPPFLAGS = \ +- -I$(top_srcdir)/noinst/libcrafter/libcrafter \ + $(LUA_INCLUDE) \ + $(PCAPINC) \ + $(JSON_INCLUDE) \ diff --git a/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch b/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch new file mode 100644 index 000000000000..bedd0208303a --- /dev/null +++ b/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch @@ -0,0 +1,44 @@ +--- a/src/tracebox/PacketModification.h ++++ b/src/tracebox/PacketModification.h +@@ -8,7 +8,7 @@ + #ifndef __PACKETMODIFICATION_H__ + #define __PACKETMODIFICATION_H__ + +-#include "crafter.h" ++#include <crafter.h> + #ifdef HAVE_LIBJSON + #include <json/json.h> + #endif +--- a/src/tracebox/PartialHeader.h ++++ b/src/tracebox/PartialHeader.h +@@ -8,7 +8,7 @@ + #ifndef __PARTIALHEADER_H__ + #define __PARTIALHEADER_H__ + +-#include "crafter.h" ++#include <crafter.h> + + /* ICMP message can contains partial header information */ + +--- a/src/tracebox/script.h ++++ b/src/tracebox/script.h +@@ -9,7 +9,7 @@ + #ifndef __TRACEBOX_SCRIPT_H__ + #define __TRACEBOX_SCRIPT_H__ + +-#include "crafter.h" ++#include <crafter.h> + + Crafter::Packet *script_packet(std::string& cmd); + int script_exec(const char*, int, char**); +--- a/src/tracebox/tracebox.h ++++ b/src/tracebox/tracebox.h +@@ -11,7 +11,7 @@ + + #include <memory> + +-#include "crafter.h" ++#include <crafter.h> + #include "config.h" + #include "PacketModification.h" + diff --git a/net-analyzer/tracebox/metadata.xml b/net-analyzer/tracebox/metadata.xml new file mode 100644 index 000000000000..62c1cd151bb9 --- /dev/null +++ b/net-analyzer/tracebox/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="curl">Build the curl component for uploading capture files using <pkg>net-misc/curl</pkg> + </flag> + <flag name="sniffer">Build the sniffer component using <pkg>net-libs/libnetfilter_queue</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild b/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild new file mode 100644 index 000000000000..cf4ddf0f2acb --- /dev/null +++ b/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) + +inherit autotools flag-o-matic lua-single + +DESCRIPTION="A Middlebox Detection Tool" +HOMEPAGE="http://www.tracebox.org/" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="curl sniffer" +REQUIRED_USE="${LUA_REQUIRED_USE}" +RESTRICT="test" + +RDEPEND="${LUA_DEPS} + >=net-libs/libcrafter-0.3_p20171019 + dev-libs/json-c + net-libs/libpcap + curl? ( net-misc/curl ) + sniffer? ( net-libs/libnetfilter_queue )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-autotools.patch + "${FILESDIR}"/${P}-include-crafter.patch +) + +src_prepare() { + default + # remove bundled + # - dev-libs/json-c + # - net-libs/libcrafter + rm -r noinst || die + eautoreconf +} + +src_configure() { + # https://bugs.gentoo.org/786687 + # std::byte clashes with crafter/Types.h typedef + append-cxxflags -std=c++14 + + econf \ + $(use_enable curl) \ + $(use_enable sniffer) +} diff --git a/net-analyzer/traceroute/Manifest b/net-analyzer/traceroute/Manifest new file mode 100644 index 000000000000..7b1555628fde --- /dev/null +++ b/net-analyzer/traceroute/Manifest @@ -0,0 +1,2 @@ +DIST traceroute-2.1.3.tar.gz 73171 BLAKE2B a723bdc8ed5f12f6b53552cf7d330eb028deb55ae85c785451d282be1946cdc57ff428a755cc2bbd71495b49cbc89c1707d2686a553029220f8a089fed1c1fc2 SHA512 db96214e6957fffe17c013044fdc20be6cf94fe5249c9adac77e62e20327c4d582b2ddf4b511f93f30be0cba9f67b0f3f61490745f35ff5a32c63ed66cb0c444 +DIST traceroute-2.1.5.tar.gz 75453 BLAKE2B b2e99398b23d064f96319c9ca677589175f4bde64bce1f1d3236fc94f0ae3aa00499a2ef4a5c66c3a5815e09e16c534d049c36745119850c90c8af879ef66c6b SHA512 4557e6091cd34edd9761ffa5c75e13d63e7ae17c9d060f18306487cd5c1e7eece8a7ef3ddc6bf40f78d1014ed38ce2411c14d839251412978b2da0915180be93 diff --git a/net-analyzer/traceroute/metadata.xml b/net-analyzer/traceroute/metadata.xml new file mode 100644 index 000000000000..1df6ce61fe78 --- /dev/null +++ b/net-analyzer/traceroute/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:buc:traceroute</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/traceroute/traceroute-2.1.3.ebuild b/net-analyzer/traceroute/traceroute-2.1.3.ebuild new file mode 100644 index 000000000000..939853208759 --- /dev/null +++ b/net-analyzer/traceroute/traceroute-2.1.3.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Utility to trace the route of IP packets" +HOMEPAGE="https://traceroute.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/traceroute/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="static" + +RDEPEND="!net-misc/iputils[traceroute6(-)]" + +src_compile() { + use static && append-ldflags -static + # bug #432116 + append-ldflags -L../libsupp + tc-export AR CC RANLIB + + emake env=yes +} + +src_install() { + emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install + dodoc ChangeLog CREDITS README TODO + dosym traceroute /usr/bin/traceroute6 + dosym traceroute.8 /usr/share/man/man8/traceroute6.8 +} diff --git a/net-analyzer/traceroute/traceroute-2.1.5.ebuild b/net-analyzer/traceroute/traceroute-2.1.5.ebuild new file mode 100644 index 000000000000..939853208759 --- /dev/null +++ b/net-analyzer/traceroute/traceroute-2.1.5.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Utility to trace the route of IP packets" +HOMEPAGE="https://traceroute.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/traceroute/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="static" + +RDEPEND="!net-misc/iputils[traceroute6(-)]" + +src_compile() { + use static && append-ldflags -static + # bug #432116 + append-ldflags -L../libsupp + tc-export AR CC RANLIB + + emake env=yes +} + +src_install() { + emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install + dodoc ChangeLog CREDITS README TODO + dosym traceroute /usr/bin/traceroute6 + dosym traceroute.8 /usr/share/man/man8/traceroute6.8 +} diff --git a/net-analyzer/trippy/Manifest b/net-analyzer/trippy/Manifest new file mode 100644 index 000000000000..559af6ca726a --- /dev/null +++ b/net-analyzer/trippy/Manifest @@ -0,0 +1,428 @@ +DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST allocator-api2-0.2.21.crate 63622 BLAKE2B 983897fc977118f220dc4af7e801ac08eba77bfde2a25d756bad3e77f849418e74e7c67eaed68e2d719ca7fc6e1e9ce151dd7dbe8707dc43d4a6400294c8fc8e SHA512 1bb5711ed6041b0d7eae2ec784b8aa9d215db0f49cf79c692946eeb0db545d358cbcaa8156ae34e51d05287c08574f1da251ee574f2392949e4ed26d04770d03 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.18.crate 29681 BLAKE2B b6f72cda084b38f1e1cfe60de2562e8d62ebbc352176bdf668a2d6be09349bec46d291cd475e8af814ce66def44d95cb98c325761150130752284a82d8a84f21 SHA512 5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963 +DIST anstyle-1.0.10.crate 15725 BLAKE2B 36e656bd8f9c584f11fda5cfe0c2e24e8426b9e1b602aad34ed118ae6950a55440e292d2e0ff7615f5e4f466fd06f07536be198a59506a587d40cb0c4ede4f80 SHA512 621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea +DIST anstyle-parse-0.2.6.crate 22343 BLAKE2B 85eba405dc5cf806283cf442984e86583dfe6c681f849eb7a347b7b67bd2b6f692e84fc9b5bd86486633cb2f05960ec16e8778300df114ae6676da43442db9bb SHA512 e28c9818afcda0e9b84c205d9c6697ce64cb06c21df2c3666869c07d66893105d9c5e96a27fcf2410a09f6af00735252e22b5c7d8c6cb3f68c4a8f376c49d396 +DIST anstyle-query-1.1.2.crate 9969 BLAKE2B 179b8dd6dd709c2ca67f4eb5c9a502b2867cb6744a39f824c4fdebedc67c6c3e07d107c7d817e2ffb589d13b7ed4900cf9653ddc0a43663217042ee92ce8c9da SHA512 26069d936c4b1fb09bc65cda0253fe9be8fa4e96c0821f980c772602b4e9230035ec8c9d092ef95e0a0354ac559f8d25f57a14c34086d4d241b5fba688951837 +DIST anstyle-wincon-3.0.6.crate 12271 BLAKE2B d9f4d9d46fa93a1168ca340562681718be852ffa94e30c9ea208af53af9d6697ca84921837a325ddc36681caab2b866b7f574901c80b5c0d862dcb765b81b68b SHA512 59ec6f5a53bd68b6344d82e923eb8c45ddac481dd0d270a7b452dc5b0540ee1656705697c1508942ecc131e7c075248c85d8f4159f27d97ea94f22469ce2eeb5 +DIST anstyle-wincon-3.0.7.crate 12400 BLAKE2B 2023529aa12ebe1b7073a88180ac7491fbba7e8556ba20061bec22b1db9d0f3da058faa5bd7f499d8e5da18422dec7e7648f3b4acd7b4a2d2064824f1b881259 SHA512 782440c1093235ad481f0b854f5a3d3acb7908d2e5ddbd4143139b8bfd0faaf2f9816c1034e760d9261a233e6d645098cd5a594064f190662908eaf79972c903 +DIST anyhow-1.0.94.crate 51731 BLAKE2B 2b8b7ed7506f31a434ff8af198256816bb196f3434925ad688820237893b54b14f3731d34a3968277f532a3b67c39e3c4aaffef43b42b13bb1c6d3cae50e9ae8 SHA512 61209bb1a81104ea86375bff12e6654047a596fd5282fdaa590301c4bcdafcdd8bc83201811063d565bbfab6be42544e43047ec88d2b0b41f7c5f2712f3a3b90 +DIST anyhow-1.0.98.crate 53334 BLAKE2B 469c6bb7f535c0c665daae37b61a001fb7da688db3bedcb8e7b76392af109e5b9335dadaa5775c80d365d599674ce3961240a07582d4fc9a45c6367a6e7bd7da SHA512 6affa8a4f148aefb5a20f193bbe93f694786bc1e707b298a3ccaae1a22d60898a46121532ad5ca5819fc180d4593a8ce2455d754315a9ab3b5c998a4cd20adc6 +DIST arrayvec-0.7.6.crate 31237 BLAKE2B b9d1df7e3ec47d434a2606fe9540e37e02351873b376a4e113b54461288e9ab20e02285eed5c4bc0f052ec4d6b3c804044413490ea706c31a852624b03bde7bb SHA512 b1f320746018a7f32340a833420089446ec5cefb7f299b4506eab7423d5db49f00b72d8aa8c6600f9159b9480d5eb3ce69407d93f5c9934147860c83e4d6eca8 +DIST async-channel-2.3.1.crate 14576 BLAKE2B 09ea03c9758805c90be9aba222e1d74f3166ab492e533597647d1b4f08bf1dda79d73b21de791b9802e19c225cb94b7cb25550bba61488c7b61fa87f88eb29dd SHA512 94c999912bdf681dcb686292645bc8c340c2687bc9544f317e0123e672752c6b31e9d784e488e7d0bab79b5f207da8904a7f1fe140397513b47c292a6508a7e5 +DIST async-task-4.7.1.crate 38077 BLAKE2B 200f3c2eff92afeffb34404bd9b02af39226024d309137c3835342ab6631c09f14f47abc5d25d77e73cbd133274e731fc88e7e94d8456f690b0f1056bae8dd95 SHA512 8495436d0739a2ce83b372ae13ff24ca1487c92e032948d5830af19c3ba411d7cd004634fa10bc2f748f8a82de27c12cbfacaac92cd0012e1fae024eca9e78ca +DIST async-trait-0.1.83.crate 29054 BLAKE2B 4991f79abd8b9260b9541e754c30d3e0731ff786fcf65cc3f3eb75a5fcedcb37be147222778e1a0fa6c68d8fb872144b2b55b43cf6f8f4de371f24175cef405d SHA512 15969eafbdbe51e80433b53196962293daed2a70d3d9bac91c58e5e7359f60fc99ef519ceb1fd54e34d627c94f821329474a602f25f85179318d10c3147b5649 +DIST async-trait-0.1.88.crate 32084 BLAKE2B aeb1cbea6bf3191c19ff7daee41d5b70e3b4f05f7232f719b80dd38eada3747dfea951c9a2ac6b7c4839ec8fd5abdf1c61791516dd3d06deaff445979345793d SHA512 65ade824708497feadf6fdb788cfeb1b7f0aeaa56d860455dd016a5926d83d56b55c3a4b4ef9a319575d30f7a9a2a90d92180cc80f62d998e46a7caa53c4a648 +DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c +DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c +DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST bitflags-2.9.0.crate 47654 BLAKE2B df924872ccb929f3e428976764d50e5468112cb83e563f663a5e51a21ef4363b4c639e617ed8afd42a39fed522ee468ce7186adf88bd41f5f4a2a6c833d9ff35 SHA512 f314d5391745e5a7eeeda0c014d739981d8639a8e23e1120d9c006ef1a6d5d5b9292ec85ed2fdc117121b6ed7a67df41345116ed311d8523344928a725763446 +DIST blocking-1.6.1.crate 17788 BLAKE2B d07246809d8b80f1fdbdc678b2877f349b748f2dd0f8543e91fde4aec7aea0b45e145a44f07cdbf26934d20269af01844e1cf7d9dd8b9588d129da7f929d9c95 SHA512 1879bf31c18d5cc4653f794dd4109769ae32071564d3a0d63896162fe160bb5ed3d7d8de59ab34363f8192871122099bb8564ffa93de5a5b75ffd93c0d424ed6 +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST bumpalo-3.17.0.crate 91975 BLAKE2B b0aca1d64373425384eddcdf8d60dc977058a3d1570451de944ce48aacdb984e73a29ab64fb5b23413582d57a8e32ad8155f6a1479eb00f804afe9d8a9d9e163 SHA512 b2acfb463aa705b9c6a9555858b84f565234110988c880cdb761ab8dc87892ee5d22e65fa935d2cfef9d58869fec0ab64d810b26bf122fdd89b454b6ce65ea1f +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST bytes-1.10.1.crate 76779 BLAKE2B 96573ff7852cd2d4f37a68cb4d76bc43d2018dc25b7b7e2164df022de4e1974f22d4d3ea7cbfb280667650cdb5063d600f4f76cbdca43dae508f29ced449b0f7 SHA512 03429f01927b94ba6c958c46b2e5bf92a23b39ce9385689e21accd34a5d3be01fd0f665f4bbffb1f7c5bdf1edfb1bf11d5ccad00eff0f9388be39fe2f753d296 +DIST bytes-1.9.0.crate 67320 BLAKE2B d5a89fc1dced217bd78c6c50d0494308b69b0841506c4663b6df3755b91a9eedbd242ce1322a71b8a96847db7920b2b15744fb060aa2d69f5c8d9bcbf2745b9a SHA512 e6c0681c535db6035c1fb1c0481725bb8ab341b6324acde07ac4b60cc4f490ec6ff01478bc00fae00ade2bc5420f9d14cc44438e5d156bcce91cc0f06118296b +DIST c2rust-bitfields-0.19.0.crate 5885 BLAKE2B 8405344e53e16bdd2c4925d1815e3dcf4611212d4c53a1511b89460efb99df9d45ac217db6c1bb93da48c03889aee089959b9a57138ce83fc4f94d0a9eb4beb7 SHA512 bcf55702c867f7c9ef6c256e5dcc085b0cbe7c0be103b553c71df3af3b242b57aef4d9335525fe93b44445375335a240b45712cdf1e25d3c8e8fb8b4bcf1fa1e +DIST c2rust-bitfields-derive-0.19.0.crate 3620 BLAKE2B 28bd8d0ae75bb9d148d6bfee68b0ea118348cb2d761ea43e68ee32e8093c36ed28b5acaad20cd7dce9ec47d941dfb2486539e2a20d758a83c6607cf8ed7a2a84 SHA512 b9b14e2b834c47bc05eccdd15daf06d03f4b2d8a6b3d23970b04b9bc704fc7793efe62018838ae54009fbff2643ab5f149267160353086c8136f18df87a13907 +DIST caps-0.5.5.crate 17575 BLAKE2B 77d788f936eb36c2f4776ee719cdc138dac4b840ce632190f34ed26e705175209f9905c71d96d54f0c69f4c6d25f0a203a4d490f2034c330480bedd5ffab149e SHA512 866312aa0f3847dc2779570d1466aaae00945d78a2f5f3b05a833c67a2abd04c0380715f61dce79814845e4e57321adde67fea97f99dca56a970c6e6f80aa029 +DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8 +DIST castaway-0.2.3.crate 11509 BLAKE2B bbecba400bf98ef4158581f3b1673ca77dbec3ad754d3749f0e9342a47d1fa9f638c1388f0762413277b73251854ade26e08dd85b7d7133c73a5750d4dbf7d92 SHA512 2565a4e5709a25118462ac25b9f741e92456c81ddbf7c4e791d8c647f2ca5227b2f59ffac108f9d32c77cedc12219c517218c51a78b1d22a1baef1bf2c16e0a9 +DIST cc-1.2.21.crate 106117 BLAKE2B 088f0e17c3e1fbaed651e06029b1ee25391f928049237a02e43171f065033b599636209e9fd2b7bf8a92950cfec5e5efd02c19060bc757bddb92468d0cf193a8 SHA512 44d23d5f1c4c55ea1372b2c326400cafb45fa24ab0a3baea0726d5e33505383a29a44c64a6549f650c95b0c7da12d5dd1397ed0601aee144d8db6dec7594af46 +DIST cc-1.2.3.crate 99421 BLAKE2B b5702d1dcd0d90d1fe27f6ac8e7c04f30ea8edcccd1bad4bd31f12ce4d0b1de70cddb2d6e71ed3c3f984ab76b9af47059ba9639af26f84631eaaf1435d6d6fcb SHA512 b3f3e8bcb7daa2b09da4bc6c35279e020d8e1b506adf322ba37d2b0e875d22dfa9c662406223db6e465c70ac816956e5820f162bdcaeabcf38e54c84ed158efc +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST chrono-0.4.39.crate 222248 BLAKE2B eeff1694a98e8775524c261c5c46ebf09bf1ffc6222a945576960e8153af99e4549d8c988bd086507fa430f9cb15a3159be85300247ab3c6f5e77ab515f0988b SHA512 5b258f76bea58ab9baa0fe8fb32c41928b8b655c76bb2fbaae9300ef8380cbb881296cee6b9e9886dce62b0759c73e84f6409e374a86cf0c80e3383512f98571 +DIST chrono-0.4.41.crate 234621 BLAKE2B 82d2a03ace32f722834348097622ca4d80f00bc7c419dd43d85a2f740088b61adf6d0fd2fed861612b07afa7ef6d26c50386ca5a9b3452a3863be8a737efa02e SHA512 917d440059579f4861b91d95bd0d5bf6dc55baaeec50678a9562b9652bd872d5f6b5013f188a50f37a18dfaa775b6821eef2a1ba096abd488a285e55aa024d5e +DIST chrono-tz-0.10.3.crate 380709 BLAKE2B ac326dc4b99d697186f4101280f3cbd5f2326697c43a41f790b122e48c0e06e87a65f5b96b4e8bfafa8c667f8b1a51f4e8124e07ce541717e547b5607bf01954 SHA512 bbe6a8a9b216895e36db0fb41af873630a8f65e511faaf6122b040731ea126aff36fcd12b7cd6492aa1c28b9abd5deb19c9a35ffa372ff067d49eb313c3ab611 +DIST chrono-tz-build-0.4.1.crate 11798 BLAKE2B cc756cf89f8316128978d3b70b6e63d24a643ec21a1cc619a726ebfecb45b957276f1734a24f03e18cdea88b2ee67e945149d48252a4435da675d781840fd336 SHA512 a8f010629f9e24aa23a074282f05f9b54eecdbf661221888af2bee828ae47240d49a0f22e4a622aa4abfc8b812a9501ab4a0a7439536eec26ad95038d9f95e40 +DIST clap-4.5.23.crate 56460 BLAKE2B 5c0ff6ecc072368022b8dc08703d87802160817e40228fccbf9cbdc15d86dfaf0eec141dec4e8f1327e5a6d1622df9b334e94797027372dbe8765a12b918961e SHA512 4a8ef8731c9768844debcd1ba83a79a607fd32d9fbfe7411abefb8939c5c442e8a206738bb54dddd136117d3992f519ffd1640694ad7796c4e0aae3f95502c7c +DIST clap-4.5.37.crate 56962 BLAKE2B 2639e860fe71b9773ae3f1f7c276e592481fdba2740d0abb079f0be0076c50b448fea0e34d195ea5b37b15ecd651f0a2e2449f48e6aa33e217bfc7dd85742599 SHA512 b040f239a75b99ee8f4585036d4570e026eb1bef00b8110853c11604dee1db1c3180336b0894fcdbc5cce9278ae05d48595511b51d65bb5bb988a9eb9bf0c4b0 +DIST clap_builder-4.5.23.crate 164180 BLAKE2B 90948ac5e8ea620be3e1ec1334677b0ae9dc227a00354fcd3d78e2cf23a1c101e009e6cc96fc19c0a2395e1b9ac6272fd9615abc1acf1a5d60392e337cfc961b SHA512 0889876990f0a361cc6b6d41f2a8f4b1decd376987a02fe69888455c92f3e583d6ff70880c6f0ea154ba62f4be7d2e7b18cdc4e0e2f243e6b17f250c3e8d1c2a +DIST clap_builder-4.5.37.crate 168761 BLAKE2B eae4efdc380820966d4633d1fd1128ff364897cb3d03aaf89b033708a968e9eb6536779b43ced1b55a2ec9c110b614cde6ec618d1a9ce30c81619f559068ac9b SHA512 c677c5ecbdd1363e14f5833ca2a8a479206d4fd8d5dcc430fba866632714b19707f36a2885671046f98a9df3673b96542e650fb4422b348306785262111bdb95 +DIST clap_complete-4.5.38.crate 47669 BLAKE2B 4cb85c4605460a657abfed6f47da0582bdc7d5f99bd2e801a4263390dd2816319a00d091597bb62699a6f351e693d96062130acd3d06c26695779acadbd11f4f SHA512 a0d40df8eaf56a0688557b517d84a676c86c5b080aae118375201d2196ad3230540f5f8f728f1e3dfbd0c5c95ecdc7b75188959bc6b44743859aee00f85abd77 +DIST clap_complete-4.5.48.crate 48036 BLAKE2B b3c689fbdf3b1fd492cbf7648fb3f96565777e7830e71eb365156007ffd6f2fe5f2c4ff4a544b91ff2cc44f045a1f08a69ffee85dfc843275c4f3c62696b7933 SHA512 d80f49489ed30f39e44ec9463d7c1d5ff43c58234b7c7ac55eaec347e9ff9988581bd19ede962e7be1fa7f54dfc547cf00678a603986b7023078a9529b9fbcac +DIST clap_derive-4.5.18.crate 30131 BLAKE2B ff962e52d8d8afcc9639365e27753c6c6943fd809ef89d9e555e8be5b2f13efa650bf1f9ae451f4c127c1529a0af1d892c3b02153b46deb912029b45983e01cb SHA512 035bb918bc7e9badd59341560f23e3a8a2e7cf945b6d8183f74052c4edfcbecf07c9ea6fce0ceef0b84c89a99d62b11760af39398897e4ee7dad0170a96cfefa +DIST clap_derive-4.5.32.crate 33441 BLAKE2B de532305380fd457c0fac504f845ba595f157661de7ae72b14598dde1f3d4ec1961196220354a2eac97943004ca8354f4623b29fc2b6557c6ef4a83ab6fd61d8 SHA512 ddac7bfd885efdc97ed07b23eb1a42827aff9cb0c6eabde0a0b247233316f99fb80acb8122d8faa054dc65b6fd7a76091ea2e533cb44e85e8dda125330cdbf86 +DIST clap_lex-0.7.4.crate 12858 BLAKE2B a5ecd50cc503157dd69746f3b6e9c288e0fe4f6d5d82271499f657134fd401fbe076255e2be6a23ed0b69daf3941c6429dad8b288223b0ad390a2c435575cdd1 SHA512 a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e +DIST clap_mangen-0.2.24.crate 15380 BLAKE2B cac9cc8e337182692b48993b28b19bd282dce33852c283fed63f3409ef0d9c46fed45426cda5a66972e0f59d8dc43e6c8c7da2b6019cd6b03dfb28fd2fe842b8 SHA512 5b1f32f3e1e63e4a0cde4cd106cf2e077ab263ea04ba1bef222b4853621c03f52104602c1f186bb8cf2596da5270c000f011d695a83c3ecb1d8f28eb847fad35 +DIST clap_mangen-0.2.26.crate 15630 BLAKE2B 58af6b1b46c62cf86bc16720db67b195271adb6265f2d04a524bcdc2380e99162b09d1368d44cfe3ddc937f4682f7a910a8d04109a1d51f3371d743f083492b4 SHA512 1655a940575fb8df78595675a702f445ac72a68db1583988ce1e293c7c77c46e60a922ef93a1e545bf314b534bb0e49fc483f44d5e6d0a4cbc4d6481a7a0ac40 +DIST colorchoice-1.0.3.crate 7923 BLAKE2B 7055fe61677143f0d4445ed5f6be2cbc284c155aa6ceac04df6f3fa2563a225e440ba708bf40e298ad09775ab7c7e1842b5f6dd78422b06dbd1250908e3227ee SHA512 fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14 +DIST comfy-table-7.1.3.crate 73951 BLAKE2B cb38f0c8893c728766f9b92949235d477e70e7a0b34cb674c068ca5d4ad9d2cb64785c7f412f1053216dd27dcdcce49ffc884062f8217bdcc9d627f31de0f361 SHA512 4d2a7337c11bdb35ce7f173a52e43c6749f0cd7233a69bf17fdad68de9825a4d5643682d4a97ba53ede5561972062b37ec237c923b6d16246e9ba9874b45c2c7 +DIST comfy-table-7.1.4.crate 77044 BLAKE2B 865f25ade7767b68917585c0055e1f6cd6485dd21267dd24c941ff0dcd2b5751b0f181eaf0e9099dafe194e79298f513b810baf90c11fb5217d8342e7ccaa8fa SHA512 7aac3d0456a997080deba644f4f117927de7886898f61eb6dd88c818c80d3d569476b42635f08ece5e5a45f9229279d49d47164db07358d1223fc9973e9a4d16 +DIST compact_str-0.8.0.crate 70994 BLAKE2B 27ab4163d71915f9cfc160fdfa4ed049c98b06d0060def8c4bdd29e8ca37716a1c53877f70d1eb38260d44003e833c538b20bb4960f0b28a7becca5c9b29984e SHA512 5a236c501222b577fef7d7190882e20e85cc6deacf9d1f6a1d710893654b53a91c7d47373f0d10e9bfe138dbb2f4e99802deb2a92001bae7e130f6558ed9d1fd +DIST compact_str-0.8.1.crate 71371 BLAKE2B de7fd2b980a4b34b323010fe559a94e8b1aafa30456debc039aefcdaaefa48439353139a071e440b3bb136df166aabe096774bf3f6a7b91669cd5d80e4a24408 SHA512 146e2a6be6cf948981d51f9034f0aaa1a1563debef58ca7fd3110093b0f4333a9a6a3c5dc7cde25b936d8dfba72254bfacb7814f86167043431ded9c5797417a +DIST concurrent-queue-2.5.0.crate 22654 BLAKE2B b490e76804e45d6a7af6bb4ec074fb370d9ec7cd67c7ecfb55d5ed53b9b437c174e678add915303559e902ac81c8751dccb2c5ef0543d5961713372fd2b08d3c SHA512 235704f9161dfac60d2a6d2cf96425e39c097dcde2f005187c1f044704eec66d8303d59352cd414a81a3ed0eed60421054b0070a9b8f69065a79a2519e913e5a +DIST console-0.15.11.crate 37822 BLAKE2B 3233ded5b40254fe62d04f2672bf0a8239cd506511a6fa9dcc3ea44b0eca2aa4f586f346b83da3cb354a0fc66484bd1934ab07b8c591834d9dbccd17d149b642 SHA512 ec294c8ba995d0b4769f2e71f3d1918d4c0ef884ee4118ab88f2567a2f0382be46e24eeb47d2bd7947a14c2a54e22760f3f2bac586a372236f25ddca7568c7e4 +DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994 +DIST crossbeam-channel-0.5.13.crate 91174 BLAKE2B 7a9aed6f4922c1d10e4ae12508a03dc7daca773adad6a317c4ea38e544d7c28c56a06623d958aec540fcaa86fa9051a1aaa2c859dadff72873f18f2f3a951449 SHA512 0f31223a7099f84e39e6b76b19cf26736e0c3907fffc2ed3eb0012c7984b1993570bf6d155eba5bfb82897ef0e4fc93b89096071410bbac256ca6be9a9568ff8 +DIST crossbeam-channel-0.5.15.crate 92716 BLAKE2B 089f85b11078942328f89f74faf39597e08b221c142a7f06859a65ca4f3c73f13d077e49d8d709a7a5cc0cc205e3f614a457bb6bdb2b48151f66edc9a4699ede SHA512 b5174329fbdb2a742992b3450a6b11e4330e1d542132acd22d0aebaf49332aad8ceb6eb4e52ccaf8617eb02f191f881b011e5521098082919672f06ac70a4e5b +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-deque-0.8.6.crate 22471 BLAKE2B 02b854df171b0430ca8a40349674ff251698d0c322c317055da8678da6661730c945d86737fa4947c3bd824ffe402271ee2f77fd6a505d2d46b4a41454c510c8 SHA512 9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe +DIST crossbeam-queue-0.3.12.crate 16270 BLAKE2B 75be9d53340ab72e5e52c940bf6ba5dc417d3245fe18c456ca68b460c7747f7d99340517fa1387c7153faa8a0beac002fe3eabedc8638d044e0c05f4c5b98d56 SHA512 a117977e55c0c2eca2a6141e3292dbc75ae5d80c087f0667cd767b9e9ee0f9c87084ceab34937b66b28a586b071e518a483684bb041e6410b2c3ab5924bef769 +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8 +DIST crossterm-0.28.1.crate 132275 BLAKE2B 30a5bf5b48a4bddbfb53726b675adfdf6d64cc387e027a69d6ab721f5ebe574abed3a862504f0db723a733662fbf0ed13163730a7ab49ac9c7fc05681a3545dd SHA512 0d53e328eb606cabc3e309cc6193b34a14c8746081a7b2c9645c1c03d66dbcda99656d629c0dcfcd43bada7a863df3e83fded6b642b2474035165ed7b16f7931 +DIST crossterm_winapi-0.9.1.crate 16027 BLAKE2B ea63abf751aeab203f326e77260cfbd1de286be26acf714a083ae1262b0cc2a35b5cb6d0bd54f45b33c1942eb22f916141c5870aab34149fdb30faccf4d4642e SHA512 48eee242f477f43b69c00e3a5d4d255de2ce1774f6e73d869c5472b35d85af0b63f3a607097da8ace437b1e52a524ded4106767b83d4ec53c30c2e37ac4b46a7 +DIST csv-1.3.1.crate 888542 BLAKE2B cbb2a64cbde9c315bfdf2ddc3c14b2cf650595dda8fe233d8b84ceacf4756e72dd9b5a932e4c27b496c70ea5cb8fa1d29abea3d833b8169b6f271bc3834ed2aa SHA512 6b0be5e017b2b2cb926d11d7a36cdae1bf0ddb56165127f25f6fd55956f95a572ed7e054f863610e91c9c2329f5af0eee9678f9020644800587d6daa5a94755b +DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee +DIST csv-core-0.1.12.crate 26298 BLAKE2B 6ad0052ff32aa788a784540a4c34f441eba0cf0ea026b2bffafc9bde2d1c253f758b6fc013c8f3378078d7f5da413044318da229255e1c2b34d77d8a7237a635 SHA512 f3b02c2d95db7c9af2636b0bf496dc721d0b880d490cd63d29c0b1a25f98624b4e072e6824788cbcce25d855eaecbfe33b0cb72cd013a6af600208ea660d99e4 +DIST darling-0.20.10.crate 32031 BLAKE2B 038c2a4d919a8e9ff6eff5f83911b40cf4e918ac27c90f313b6b9131c41770f83cc3901973fea1c6fea2886a8360f3c5cf73b807d14e579b8b8e87f15e3bc6dc SHA512 7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55 +DIST darling-0.20.11.crate 37614 BLAKE2B 9bec875e60dd2971ad97a3098ec6060d16ddae7b4f85c0daa1326ab2411516c2da2eff283fcdfd091087402643d1a8db5db151c7792b97f75ef9722ef8219eff SHA512 62532fb9ff5f63592ac61d55a3f899ab90bddd380212637f380ae49e4037c3a3058055f88a5b5fe9c707c2884dc1333756364ba7acff74b0184050d9a063d596 +DIST darling_core-0.20.10.crate 65015 BLAKE2B a94adcc6092a7a69728725ec4bf4cb7c163bc3fe0890f272bba9963c256697bbe1ad964d58a975c80742019c59d4e1b3e56e624f938576996e216d2f99e21f2d SHA512 2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d +DIST darling_core-0.20.11.crate 68006 BLAKE2B 7a112380a91d9e8bb5ab84ac50ee1e21e25aaee4757cd976e82fca912eb17941799f3367250af10ea36182c26ab4289d51bd003f6aa7fe686587c696f4e87910 SHA512 aa2a8ca52bf3513711ed97fda6825d9139e0bcc818d4bac7023455a96c035e7cd676d6e3ed9bf594a6725353923de7c2e8474de3081f6d35f0c5dd507b2ca1d2 +DIST darling_macro-0.20.10.crate 1874 BLAKE2B 29cbdc6bd63e4eb0731c8f8f0a50cfcae9a88f116f8cfc0068e5d3cddc20b42b7f0f20f128ffa0f7bcb8d72f0188b04b3838b8327fa6f3ab45de4cf5c3bbf317 SHA512 565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52 +DIST darling_macro-0.20.11.crate 2532 BLAKE2B 18b7a038f1a3aa245f1089f5608d859982eb82f76c9085e96f21f42ba83a65a076d5810842a4fd952dd4ee65392fd5d4e478f067de31ffcbffa34db2ce933d64 SHA512 4884d05a87ba1638b7cdc0a3ee2718c38aa255aa19547388aa834abe95159a72128817494f4184dfd1aa811f1eda385ed4d4f3e65fc8735effa01769fbbacccd +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST data-encoding-2.9.0.crate 21564 BLAKE2B 2abe5ad8772030140a67c015cb1ef5c0f1fadfb0398d0e73bdd8f93ae229955ef9ae430b28cf622ea3cff4ea8108159c05aa4d501eb6feb5b7a34b4a6c86fe03 SHA512 ec4edf4b7e9cf3f0f963de117e15cf4e7723587782b4520b01101e91880b074eca1473dc6c9d4e484bc2193caa975a7fc11ef3efb114354c491f13c86b149104 +DIST derive_more-1.0.0.crate 64854 BLAKE2B 4df45d1cbab6a46d72f72319b346f2f9f2d8006a404959d5811038a2c7719099a055763d3744704538cb32fbc79534cee2320dac321d6b9c5fded090b6936e0c SHA512 94f95fc1df70b57e40ba47bd3ebbbe75d475555fb1dd7e5bca460efc4edbbfd8e2403cdc109be90f04454d379c5c4c3d6b6b1dd9d9276049d32bc72e7bb1f954 +DIST derive_more-2.0.1.crate 70127 BLAKE2B cf20f53528e07ea53a8ad4e0cd9698eb44dd95a711ae5a969322518e5b545d4355d1ef396584bac07e73805cb44443a737a3f21e279654faab79b29e6d19093f SHA512 eb80e75fa43bda291b1437dc4df48d39570c3d9f94c758be5560bddc29170ceac6d9a2b51bf414729b8b7331d60998caf930b905951156aee0d07a5b62eb8028 +DIST derive_more-impl-1.0.0.crate 76182 BLAKE2B 8c7da3ff4737d21808d66c355d967a764e589f48c24cf7b08f82e771bda4cbcfaa37fcfe74d5a771cb0307a5b818909efc5b71e6cdc283e84611df88b7f66489 SHA512 12ffa53bfb07d24c601b0727c2a59284ded615e9bd83779c5877943c766b661aef13fcd463224cec7d3bea95e5ce3275df58e7d2562b4f40c72fc9b13de82caa +DIST derive_more-impl-2.0.1.crate 78233 BLAKE2B 84d195fb78479ecde38abfb5311fb220835f4150a301ed01c0aae6058ac00f04ef5a9daf122ddeb180b18bd0eb714fd24a5ba72cf9100896a7bcc1787532ed01 SHA512 e776a931e98b1cd37a8410f6376831c7e3c5704deb57b8c21aa6ff6546b9764c32e705f9055b14cff6b0c802f19ddc7254c14b60082acc176f33ec33f781fdc4 +DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST dns-lookup-2.0.4.crate 13733 BLAKE2B c28840a97de70192d337d078d0e04db5da0b0c01781bc245036dbd2931092c3e381a3792086fc0e84c6a1a0f92d0adf0366f41d4f48479a331a6de1e69af267c SHA512 4b2be29b927a8bc83e983b7caf24f3391dd1046b1d6b255e11edcc69338cec9d04fe5935bd01bed30fe2b551ed7f93585e92fac066e67479fe597acc6bdd87eb +DIST downcast-0.11.0.crate 5976 BLAKE2B 4ca0e66dbd8dbc86920d4184de8b37ab41954cb1560c7727334c990b97ad9544b098f7ce50759d10cac8b9cb955893805aed3bac5849c8b44a965e24d2ac7653 SHA512 11b037a09829e3e93eabff69f02b608725e6e348a191b1b6c8bb044b8d820a6ebf46eaea2f8bf5eb1c156f20d3e97be9b581e1b5fccebbfe76d94157d6bccd53 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268c8ff18cbaf39dcb7f7fdc628811575ec87a7728940dfb2c26775995a3165ab9c17dd42880d56569b22c6f88 SHA512 d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f +DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 +DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359 +DIST encoding_rs-0.8.35.crate 1381050 BLAKE2B 2db6797e4f226b3836c18496ed77f3fb113fbc075864fd264f23c4fec8396eb3a01c439985ba0586a4464ac4043ddd3acac80e0ecf897cb59569e5065ce2137c SHA512 4b55b53553c5cb6fe05ae81d1c6f3b0bab73ecd3d426b15c58b9de9ea8dd61617bf0bb2e6d3ae2514c7cb6e73019b1a083173d1423b3ece2d190770c597114c4 +DIST encoding_rs_io-0.1.7.crate 16969 BLAKE2B 8d51835dc0882d0e0512f0a177f10da3a1c384f38cb4eb163f957cc134ef5b7aee65d951cf65c99cc80b087e0e92ca4dae431e3a8987fe6b86bbf0dd1bfa8ef8 SHA512 0c7d33616e96fcdf225599dbf469232d150fa4bef5809346c4003ff7fa0362a1cded8f3392fb5945f4950e2b2cd71b60c93025d73ecfdd2ba4fda5e03a16902c +DIST enum-as-inner-0.6.1.crate 12190 BLAKE2B c2162a838bb717ea7859d5c11ea820aa6bc79210bd6a9e06e4f05bcd17a3c92bdb7d98453d58911f96dac79bdf553730b58d4949d268321aeae324187602ae09 SHA512 e6f80a4a47f5901301debff47f1e88291ee6d29dda2805373ebee62f77c149a2c7f8d1188f8a365f2e11f5497025036aae4a4c3a7f570928961d1d25d6caabd1 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4 +DIST errno-0.3.10.crate 11824 BLAKE2B f9976b538868daba3cd2d47ff2fdcda16b4a436ca767f865f23d1139e7f232aba263dd4aa38d573442c762999c8a8beab8a4a8c10649d21b49090fa65ced1ec7 SHA512 fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f +DIST errno-0.3.11.crate 12048 BLAKE2B 6d370edb0712b4b527645460eb663f6434784abe8749356674dddfe7a655fa888a9894d870c44d514186d1ce226d0d4f44955b926a10b14cd3b54d07c40cce50 SHA512 95f64e6e71c9100c36e52f2aa720d244c1a4d1182b18708773bfb4fc69ad55ed78e4918b69a96eb7ce9a2bf6d39fcc23236bb38473d3046f4ab332c260005299 +DIST etcetera-0.8.0.crate 13295 BLAKE2B 33069c496eb846bc3e602812cd2ed182c660ae06b8a33ecea294a5ec9e37a1fc15391cadc9fde23f3e885e506031cbfb6b7d036b94cc4f94d42b8dfa8ad0ec7b SHA512 857151a9af143c7149feff2aecee8fceec45a7a2ff64a8c1a482aef89ce2f91de05123afd7d22d67cd664d9ec3800652c7800affdde4ec317437f5d925883b3a +DIST event-listener-5.3.1.crate 42576 BLAKE2B dfd8020527c06adae338e9bcf19076e70ae745facd7b49e8d6604e8508436b70b48fb1f4479214998f288055447186d4ef4969630af90e301103bc5faf6492e5 SHA512 98b7219a3959d6225ee5fb68e8b9d284ab03334d895f52a71f673e59cabab1d06a0abb9eab905e8d38d5f9589725c7c598355ae3c909044a23bc5830b761f5c0 +DIST event-listener-5.4.0.crate 43452 BLAKE2B 75a535bf9e0b6e5b07b0faa31a73ef803a367a104985f0cfd02a201c45cd3cfa1e51a14e6316ac2a96b1e99e00260a27c5e96f54f073b3b9027ae62c886cdc24 SHA512 5e35b5b467d024b6b05dfe6481cc69ebf4e942b9a52a478196885cc6d578f388c25387292c94f9da65fe53fb870ac328eb9a81179c93b496c1d39d27b11a36fc +DIST event-listener-strategy-0.5.3.crate 10920 BLAKE2B ecfa6387d9f09ab8fc6d7bcaaa655fa69f7d732bf40c16549b12074ffd25b1d9e6ce19f7600d1be615ec72f5fbda85d0c9e0a19bb5c0cdd9020c4b9515d9f778 SHA512 f1a14f69afb9765a317b3d7bda505a28f050a7594d6b07e5263d635b806d494ab41c456dcf38ca924ecc0595be0f77e32ffe239107fce1cc5b71ee7249419f5a +DIST event-listener-strategy-0.5.4.crate 16179 BLAKE2B b516f4b14bace1dcc9e7e6ad3c7b8ed1855530d0aecd1ed480b4392bc5e414a92634ca91b73e521e0344e264da2d7bb92ba6dc260cb38d532ac5b782569f7ea6 SHA512 bd5259083e87d6fe04fd0c3ff2b5a5ac3e6550ea05bf623b3c535465a2c1f2766bb66ee73444a80075efaa59a73b064def1f034e91e64c66aff4921eefc54caf +DIST fastrand-2.3.0.crate 15076 BLAKE2B 15c9a1c4f64d94c4bfd38ae139c6fe19b6b621a495c1b57209edd6d76d978eaf018ba77f356b5086c3f462a6de044fb5e3b172fc288309569911a17ec39951bc SHA512 267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947 +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST fixedbitset-0.5.7.crate 26537 BLAKE2B 48b7e02d7fa3fb33f05fb2de50a829e2f25d19ac680d59c754faef754ca4678d1671fcdc66d06c39b51b4f937bca44a89b87da195e43a4a905a0d29fa95996f9 SHA512 320b1b47a9f93590f24d5c111c171c401f15a50dc29617c8715b6c9d0b3f26e17f966a87d8628661dfc62ff8dee98524f3b6f4f4391725b1b77db714eb6eef60 +DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 +DIST foldhash-0.1.3.crate 13712 BLAKE2B e5913d3aa493d0176af9650354d98870b7e97523ca743a7d9605da3f559463654f391e42438d96fc797397ced449f13ce499c20ed5db7aec772aae97c5f29175 SHA512 844d5b699db632254dfc378d46e34909637118647250e2382cbb88855f6739fb9b5f1b840bb8e250dc8fbd2a97c9155e5d8fd0c5c760b8e02dd0aecd96818a5b +DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22 +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST fragile-2.0.0.crate 14668 BLAKE2B 2e589b312d7409a1a550a676303b9b2adf2e28b0d4cd02c7fb22b48a88d1f88a04e55c4405078e2c43b13ccada890a33bcacfe179abd12236c23f219d275c4df SHA512 a48fee7c13ad800142a9ef1f355b2200b904ad9bf97b3601e310bad2b6ad90ea235b9704964c54be1d9c415c9c95fbc5f49e8ba5d7c6ee3488573f3404912608 +DIST fragile-2.0.1.crate 14648 BLAKE2B c717d80a6ccc1af7ebfd76d91d2dc3e081cbeff258efb33b4b6ab6d462c7dc41ecf0d74d8a40c88434b429b6e0f458d3deb430e425713c70066edbb3db1a8d4a SHA512 2c1eeda0fe1ddc7128b313c66eb853b539c1e4c40379f5c16200935ccd6c29b63986ca152e2848c255220dac08b38fe3a62414ae11f7b8a9a675bfb2e7bc913d +DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d +DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 +DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 +DIST futures-executor-0.3.31.crate 17965 BLAKE2B e111467391cc99d1b6a1f5fd3aafdb86922a2d2d9e360112402d68489577527aa35f4f65e6c0dc8f48372927e6d7a6a4a97c7b9525c369cb14e34ca2dafbe64c SHA512 337e70bd3a3bd3075b51e2afe8f157902ebe486696587cc2706b6a5770478ee2ee4216aa9e155e9821ed1d02ba437cdd3abd0c05aa960378ea192e2ed39af564 +DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf +DIST futures-lite-2.5.0.crate 41117 BLAKE2B a1d5492e373abc8bf237812e2d9e30fcce583f3fdcac05d68aabc829f8b92beb38e47853836aeb4f660d4df3bf298a8988e65ec027a22f2c1ccfb97652411861 SHA512 6030323680faaac01cb46793b86be294f1e7d4ab062330f9f250c9862913b6a85a4038462e753ed05951c8067d8611791546c79bcb8e32ac3146b4c511be346c +DIST futures-lite-2.6.0.crate 45157 BLAKE2B 987475a28fae8e04dac435867352f8f225e72041b6f73e97609d9c3179d89c35519d34e4dc7a08978337303c904f339549dd69c10f5eca0b0106deee5246a840 SHA512 2e896e15e7251d29f20fc39869432f3b7649fa567a59ca378bd76b67c62d5258651315972b6fcc292e99bc44e8c569a8b2cc8d3882af9ece3624437c0bf31f55 +DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 +DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 +DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 +DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST getrandom-0.2.16.crate 40163 BLAKE2B cf95b380a610313eaf068fa210bdb4a9e0b9211321d708f9877cd9e1901df0f6b7f57462a4937da3419c7547ef300291deb5367f4dce4ff776e7f0d9d36dcd8d SHA512 6391d5322f8ce2ea7d14062d378ae2ffad66622afd58b9f1732e5314b27d3a554c8a008f6d0d133640f11d769ac51ea4acd24e40259e14e2ffce93d5c3c1eb1e +DIST getrandom-0.3.2.crate 49140 BLAKE2B abe823a8e91fdb83461007909ed447c64adceffb33dce63b18c6561e7c14263c66119370fecc9c564583bff6206800d5253704ca29be1824e210096abb3452fc SHA512 8c5ce6a6180554749a7eac237caaa852aafdcc92f052aa9b3eef24e10c4ec3794a0a1a1f35580d99dd864d464eb79121fbd19ab8f8780021b60378bc967e16a2 +DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949 +DIST hashbrown-0.15.2.crate 138478 BLAKE2B 453888ce68b10cd6e93d787986603fceb29b83fe2dc417e7e57316b9e0060d0bba51ec7fb71d46a038662c99f60deac8237a8f349297208d1d223bcc13f0d0ea SHA512 d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd +DIST hashbrown-0.15.3.crate 140413 BLAKE2B c67ca4d608e82126b7411349135409d4bc6e4ddb561d04060b5e27f08c350ef3eae0eba12974e9ebfd894fdf90e1481f51e90f5a58f987b88d32e061235f7df9 SHA512 dd82780d0668d6e6eda00b0e2960ab8ad6ab7ca9cb8c87c9c276ad571522676075a675e757416094e382f2607629b80a419b00bb30b5612c1dcf71aa6a97c691 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST hex-literal-0.4.1.crate 8559 BLAKE2B ca88420383532a2f2c09e188bc0950cedf74e8335c1e5b3f640dc80607d57bab0aa6967a536a458d149a074f8bc1025a3de99a9081787e7ac80dd8308fa0e5e6 SHA512 8894e48485be7e1d7a16d2e061086c524b039a1be24a4c20126d3f175e12aa87d6d65ae295da6dea88f19708f3f3a051c3c3e334196c094ace68a249ad57fbb6 +DIST hickory-proto-0.24.2.crate 372860 BLAKE2B 81e36f8e86f3a9884e4e22bab989d9183e9efc53c57bbc611cf99549c2dd083fef5f4f8f982e72147dc4c64c313be5d6fa3c56c8309f8384518ebb3df3c1a4ed SHA512 f3ab93d60f28ebe85225c55b27abf43613e73db645699c8b8291ce8cdf76dc66bb0160ad0f1dd4b3f7e01e23d05bcf0fd702f2753d72ac0de62c5b5f2256f275 +DIST hickory-proto-0.24.4.crate 383461 BLAKE2B ef8becb4c199a3f05e2a105d3ab432d37e66b381b72cdafa6bef8d4171bc0c5af973ed0e6f875b42af3bf0b38040a7a07280a3acc20f0a3376c9c82663477749 SHA512 fa1e5a55a4d5e449f13dc6179c76d859b8bcba70d3a434b0915b3f99644e7e3737fef70f9c9ee38fa005de6e08ff588220cb6872372936b1367b0043496fc678 +DIST hickory-resolver-0.24.2.crate 90292 BLAKE2B 7b09d1a954d3aaa89d2b44b180ef922da3068505432361b1f4e522bf386d381dd788830313b3257c169d74fb0d3363de46e518db9710ba83c61e34bff007fede SHA512 8a6febc9036a163a5c5dfe83468ede61121270763ea8d672bd5e32277becf84789d32e62074dedb49fc88a51eb19589bb0b489620eb77a3d3b6e61df21e9171d +DIST hickory-resolver-0.24.4.crate 89596 BLAKE2B 14d653c393e9f3d6725509a9c20440c8ed1e8bd04dadd2ccc0f2151bd3b6cfe81981cbb0971cf82c05e479e5ff750effe49412d1a6f2e3ad40d615321a40e702 SHA512 780972e99822518937e97ed24898a788e70ef4ea8cc60724c956f905f281312f877a086ad44aca87563de828e42c1c33b94ae98b34c7a5de95711403c978c7c5 +DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 +DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c +DIST humantime-2.2.0.crate 20646 BLAKE2B e59244e3df7b69c6f8390c62a616d16363f87cbb56f6878d56e362dce5044718601626cae0f8719955217634c182315578cbd598b83cacc4db8ad45bda0d674b SHA512 caddecb807356aebe8efdb7681caa70b26f751a4dd6e67424405f04b63106ea1b55c647e999b2cba93a428aeb131dfb78a2f1322e5924550869c8efbe4c2439e +DIST iana-time-zone-0.1.61.crate 27685 BLAKE2B 2091f0bdbfae3f63ff846e27136d9779a2d65f85cef899ea3ab0ff7c987329e6a584cf49c57de566f08e0277bd4981ac3db30ea0cec6a6757ed50d96e2c6583f SHA512 d16c67f435606334042c3a286350db46ff3409f142c0782509b136150b4069aafff0dc5c2ecfb7519dd8d105b9a2e6649df2a7bec33ee3966dc94034c9d5a1c4 +DIST iana-time-zone-0.1.63.crate 32919 BLAKE2B 252417d7689156bfef5386f3cddb06703f033324ec7c3223e6db44cdd62c74ff57028c8a4b93f79d079cd69449f97b35823dd6cae712f820dc04a4f0a7d408ac SHA512 9e595c10884bccdbcb171b547ec0add02ccc2c126e6c0372f658bb418c4b4972c031c5fa547f0b11ec8c99a52ca8f5e97e9f1d2a8a6a0f4fef30b5ad15d179de +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_locid_transform_data-1.5.1.crate 42937 BLAKE2B d9d1d66a556ba5383abe07c23cb96765312fe9637aeea50d030488faa9431cdeccfe42a5367d84c8fddb7a3fd2550fef106876798a1f020821ebc1cb6d32cbbc SHA512 fe5b5563248ea0c78f63b8f5fa19b7298776e0d6dca062af108e388565c932d098b98f1e7eba1469c705184684a369e9d142b3123b24451bf5084bc7b83245db +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_normalizer_data-1.5.1.crate 50737 BLAKE2B 3beba44344a525220cb64bed28c1d869d2df0cd7091c92841ed08b1a82b958e61d388653ffce6dbc49781a8a157d427f7ff89f0b5a3bf874d1dd3f4461a1f00f SHA512 372ea6d0ed10bbba7392cb563997dca1601b3799c5c9ae585602629cd064461d096bbb0c624f14e43ccbeb6186d28d2d75e7f2ae98bc3a5ccbc0893b15dce7f2 +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_properties_data-1.5.1.crate 229231 BLAKE2B 9bf61185e1e99f213fda4e28e0fe196e9884de0bf00783357607ee9d055d43c4303e611248b174e7cce0df3978f028d15188503160ae2b08ef9696f9dc835d35 SHA512 f37bb469d33f6a0d5126a37469783bdbd268dee081cdcaa8d18461c8bcbf91b08a75ecabe6df8c47e532838c95816778ae7aa36a22571fbba452d84fa6d63228 +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 +DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 +DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126 +DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e +DIST indexmap-2.7.0.crate 85335 BLAKE2B c7430ef510738ac5fc4658f3e4d927ca5cde780774a07848791ea87503be09fb4677c52803f6cdaaed73eee600f47e0595ac3db74a498947d0e180cbd10fb7aa SHA512 efac370b9f365a49489aa2c5406eb503044a4df7d6ceb772e0191b02244b6c2c1bf6c43ad4c8924160c1a2bd76d46c630b500a1c4252fc52366295d1cb04b48d +DIST indexmap-2.9.0.crate 91214 BLAKE2B c1ff1f45814b84daa854a692e22d385598bf30121e39cdc3de800282b187a39588797a4b187cfe8075eec77ae64bb5ce6a80939cc2cbbdbe6e17e42459ca71cd SHA512 ac474dea5da1dc14a61a28f5b4c850073875030ffad3aa871211a8b075a3e9a64cc748310b4554657f45a70d526010febaf3d3992a80502db389c2347aeeb2c6 +DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f +DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9 +DIST insta-1.41.1.crate 93609 BLAKE2B 876dce069d97d69417af63d00a2c41954ce5945c936831d1ea273c23739971ce246010e54f2405a2e913a93f17b8da695f8bc25ff8f921cb98c0e97119b91c9c SHA512 6526c9f14c7f86b1592464e5e260722a53b13c367917c36ee55fba1d237cd51fab9d39ba1ea7b76497e08896c2c175cf7d18756891ba9bda0a2233232e7fe178 +DIST insta-1.43.1.crate 101047 BLAKE2B a664955917289c3e22324106803520d858e22e48248aedec2e11077257f97223133ec0191b70950d72f1383977480a3be6b0f62f766613c0df205ea39ab4fed3 SHA512 0b633f1516757cadf771e0737d2e07c7e3638467b6c311c5f170457f95adbd2395ed6a2195c32f9907fcece1bae5145b29e31de0f19f6668ca5aac8b9dd9b720 +DIST instability-0.3.3.crate 11591 BLAKE2B 19a0565dc6c6ee9e71020280daf71f985ddfcc0381edea4c47d67663bbddcc9593c9eca94b98df493914f6789268cfb4fe09e79213c9f5b9d09caa0f12b970a6 SHA512 73198bb259d88d812cbdea2799e850fd212d2538f284d8141d43c6644195c3ef3009f10000880c83acbec3554d7a4a3a5d0f3afd4c802ea16e49a5363511d9c1 +DIST instability-0.3.7.crate 13682 BLAKE2B de3301ca10c8dbac2cb4915e6b40450c8bfde1e9c2842d0f11372ed7cfd0ba3309c1fa9070d97cc8847af1a3ce2be59baaabe93d0c1bd1640c8fd6ff681c8875 SHA512 74d8c2f06b6a421aa661aa90f3fcbb442c716a6309619faba32d7d781a9bcc409b139129af3a1af88c72477a1f9e1bc66d6ebd49da97915a02660edb23a368e0 +DIST ipconfig-0.3.2.crate 24468 BLAKE2B dbaedc8f4ec23fbbe48a8c79f16fa1575b8374f055237447d12eb009694067a82bd54b503f73f9520e9b731dbf2b7797ee2d6fe2c07ad3946146b32cdc68ad0e SHA512 6029a7d453db77bcf397580fd44c5c777ce6c288c251376cb591174e9fe0aa66b49925764050cc9bcb2d656a8f6c4af0cbcd6685b2ea4616c2d2cf8de9bd67bf +DIST ipnet-2.10.1.crate 28407 BLAKE2B 50c27384d58bf57ad2c3dd0ffe44f1ceb1ae302dd40e451b0c0d69f227050fae17c368c417666c1ec9d087caf775132db7387d5a6c919a0863c78a151912ea64 SHA512 7f55f23b2b0936e3a7dafa2db0447dcf1b63a092df4af8f6fd88a02ecc8f0a290b0d21b18fe777eb573201bf82f56ae475a447650ed0803af676b1e0c0970cb4 +DIST ipnet-2.11.0.crate 29718 BLAKE2B 5cfd0876d2c45de886a069fa564d5bd0d4bc53a62ba445692b35c12ad4e3197d9d42b51b14e31bf79e7b8ece129e4612dbf47c90ace5e2e5a9f0e478bd6a5b1c SHA512 9d3c42b5bd93a792ac09975b9ced105e6e8b1eb83bfe012aeabcaa3fc388ee2c5a0541d5cd6dae48dfb97cf82aa970316962d231b65298873136335ac3e5ddca +DIST ipnetwork-0.20.0.crate 16556 BLAKE2B f6da9b2283241101279ba510c641a287107b2c27ebfc425af183ca342e4c049915aae2a2107bcd7e8349a47e07ca1dae118194acb71b7b756a36f498a6c67f8b SHA512 a8746f25abb73820cdbaf758f537c726bc9f48afa82417361d54c41bf3b86077e5901135ac5e305e2f669f093690ca518c811c89793d107b3deb139861462978 +DIST ipnetwork-0.21.1.crate 19565 BLAKE2B 095458b01e82d4e18f059c31e8661a86ad1f956c6ad8a8fad18632a4900ebfe810c035f1bd83a45143b373ceff15a37b66bf7e042495b88b3a184b4f5fab3646 SHA512 97ff3dc753c20068bc5aa0498d70412d2fa2a06cfe0ff923465e12ae3d3377b81726e49d25de1e8b3bf870f512307569227b5aa7a9f7362c03ffd9137f92f720 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 +DIST itertools-0.14.0.crate 152715 BLAKE2B 3c075b735a6ae4b66980b1f7ca0ccf4237286b140268ea179e4ac01b1349105da227f03ea9ea721d3e762c3cf8b736cc48b6902148eae73addd864b9c79aa219 SHA512 bb168e21281ef3e43f9c93a079fc1938d79b6db2366fe17e26a90f7ce6fa55df73e54a06334cdb2a7b208b0a64473b5af9de76827a9ecb49378a5f9073d2e645 +DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987 +DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42 +DIST js-sys-0.3.76.crate 54420 BLAKE2B 8d211aee6d8af87c339250e06e321bf02d2ff313b80505f696f66c43298e2aee8286076f2b291aa853730f8e1b9940f09c56535d3534fc7990aeb16653844250 SHA512 54e9a6be3f5a19021351d22d655a3aa55579c80f1453a99aba5989fafc7429078dea57ffebada4240b9185d3260d02f30da250fa539ac12c4bdda975adfe0dad +DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST libc-0.2.168.crate 757025 BLAKE2B 2597fdf5a77345754b8c9168d9f07f83ebaa0413262b94ebb19f976f49cc2c47893e788ee2abb3d00a995bc8f99b6ebcf24abbdb320e18037e779e1241599b44 SHA512 499f7273ab5eac0961fd927d5204ff4d5b3b290c20d00ac99054ee596b6d3ec4d6712772c52b09c84554f0514a8f66b41995ceb5b0ec38a7295a4fccf0e94349 +DIST libc-0.2.172.crate 791646 BLAKE2B 3a6eb0eba1e31cf89ac792a8e667c0f68b2a0e62502710ffe77c2b06321103a30ffdc4516c0a91fd3ff44508d5304dfb04ab919bd3e723e34c66b560a20e7f86 SHA512 7bfe400ee65c1b7e540fd19a9b7eb1429a66863d5e94ee7caa83a227d19a4143316d3b401013fb7f88c8e4cdb1a40cfbd58826597c8e23799e02e29553b67e34 +DIST libloading-0.8.6.crate 28922 BLAKE2B cd9d7c2652bc4b0220e1c29cbfbca41f44d12d76c4dab3d025c21e5d317407ab656a88add0db95f1086934a424f55b4b413f33cb2a52cdcadde7641f9c5b3fc3 SHA512 f49ab79244d4b54c2f181bd9d7506fe5df9824a09446924dc429636e08ed7bcd6f5d2afaf8a0c862982e2c2c5832370b118266d36f36bc7b7522668bd598fc81 +DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B d1936eb74377d9bfddccef3830b56eb716c38ea3cb7e13b73325dfd00f9fc0df74bae49e4214dd7f27c257403b8b12cd1ef332d53336279d13f7e9497caf4135 SHA512 b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309 +DIST linux-raw-sys-0.9.4.crate 2311088 BLAKE2B 261854a127942e528a09c79db0407974c22eac1144c9ecc9ea1a6f48f87a240e610932f5d911563d0e6c05c64b0cb302f86136659f8aca0d59f03946b2910baf SHA512 e98accb9b3e6f47d5753b1a370c61562d4c176fe1096188c6ec0d3be9e7e03d0ef2c08acb3ff4636cc4f90412b908d17f84fbdd99c5dbc130ed89b40b5145f92 +DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151 +DIST lru-0.12.5.crate 16047 BLAKE2B b5d7d77b4b29973fde0854f55c395edb6ea6e3a309fd33f0c43a6680955bdeb60fab624f02135b637d95e5a0e9da79890a71290c19d797f758c73d16c3d44a27 SHA512 a77230403b1ccb5aa3ed1ed89e7e6af53b3b34d4373e663c1a9789dada12c252e2b5d8b7ac78717c4c4909203c7ea2ce5743ee6cb414aa268c329b889d66a982 +DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1 +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 +DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 +DIST maxminddb-0.24.0.crate 20232 BLAKE2B d2f688399c81b047fdab1c0b87bbc2448f46f5a7c53ad365c8f8e1af3dbd5dd931c78661e6585feacd99ca9cc87646f1f95805c1dfeebbc5d185a7f632d837ba SHA512 bde9daab1e103c4c2990d103e65a05be68572c49e6b994a4326ab46e7d11de77a0f5291258fabd0daa6893964e9079d403ed3557c4c1cec3b1ad4b730f9ba358 +DIST maxminddb-0.25.0.crate 22241 BLAKE2B b3cd39b462be84355a02b79d94f964c7f039a47d1168c4634a3c932d2bfd9a2354c1307dee264863ee010f831004682b41c2c631aa78edb3a147231c946e5954 SHA512 d8a68b104c34826082d42a943cb47dd00f9ff9366c320dcd8c8f1b4ebbac34547b626b47d3eacfc256dd277ce005f5c058daf804312b7a8be525da2f76b1c955 +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST miniz_oxide-0.8.8.crate 67065 BLAKE2B 8cffe475d689a07246c00f979db6ea37d7e2ec3f8f2e6b5ac548f1182ec97e2ef1374e26ef275edb6f67814f33e32f130f77dc6731fc33f2e786bd9eb3ff22a5 SHA512 3537bb17c9d67c71b601e48008d44c51ba087ef4c827c5fc04b08ab09df92e87392c56b03ff52c66323f5923130580a81f4641d549ebb3f5f7e36bfab90bad04 +DIST mio-1.0.3.crate 103703 BLAKE2B 0d2360e4ef45f37104208a31e9aa467d6db041dfeb97403a010a36e1e1427f51d97f8408948c75c0084e6c118f058267bfe87d36e7911cb37366f2b1ac6eb693 SHA512 2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2 +DIST mockall-0.13.1.crate 22825 BLAKE2B 8365cc35cfd590b6fb86f4d14d52652975d855c6d06750a58794f3e1d0818bb79e815d6b1966bbff1fa13e512d960f48f660fe591333a04df413d81a8e1b390e SHA512 8ed8c2d5adf26eda8bfa9fc3cdff43d1ec95a5696258c33fcc5241c9846a73975cd0394707491440f4b827e0d8bc3d14df5c825fc6c7cf9f79312316c01aa834 +DIST mockall_derive-0.13.1.crate 47822 BLAKE2B 17d9ae282e165550168eb568df0ccc5512d7479e18fbfe02829803efd81b53dee1f660ed00b88a213575c65ba5d24944c44a530776708e63c57834c2c728c59d SHA512 3e1eab7f9dd2e0b40d41cef0311f0c360f42236988182c28db2199044c1d3b712ec4ead7cc5e6a89fc33df286e34eebc00a4bae6a02b4e8fedfac2158fccc993 +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST object-0.36.5.crate 327435 BLAKE2B 1ffbb8ba57024a7273217edb1db76eff03e0689f81ba27b0aef0a622972e7f6acdbdc480384b50d603dee6c38c960fd25125a313264187aa0e429aa839198dd4 SHA512 b85375ab3660a8a0c57833c28c4dc665dc0664857e1eb3cd472a61b9ec8c16c470b16475545c2c311fc23cb3c43755967f93feac12c7bfad013cfed5f879e355 +DIST object-0.36.7.crate 329938 BLAKE2B 0b02cf2f44e99002909b38125edada1a259feae59fd0e5ef52001755b6878cac710c87c60fbafdbe405281e039f68572ea3d8093d16128899090fd70df7f2fa8 SHA512 dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478 +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 +DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 +DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532 +DIST parking-2.2.1.crate 10685 BLAKE2B 3af8020bc27ea921d6023c14f20545f70a5a5a5a216d5f97458d76d3bfc8d9de937f3c92668d31a79de85ce08ed0236d440c64ca1e4fe0a7748f412b941c052b SHA512 2e49137b59000f0467aa9ee0648d53e06cd2b8319d6ea28bf04c621b873469739a34186840b02f08d770d109cca26e161b3de3e4341dd729701885307a6a8177 +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST parse-zoneinfo-0.3.1.crate 97290 BLAKE2B ef2d8128be452c96d9c13e8ac3cfdbfd86753a0578a9a782d0059467f9212cd02ab97893f0f9f73fbcb3393d6049dfedd0a437ffeada1c7672564ce63f4a1bbf SHA512 88f581dadc306585addac8a16fd3bf56f13f6b933689dc6bea36a07d9b283f9c77ed68f4175d676574062b911e3b1220bc82a79fe59ea551a7dcfee91ac74ecf +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST petgraph-0.6.5.crate 710970 BLAKE2B 7f590e93fb44f1bfb8920e512402edc1cb087ff9d5dac7bc4be965f64ffacf9c1c503eab4156cd2005f41099f6b34f51e49b21dfa217271fcc0d4ee16ae85366 SHA512 454e9805731374abf1085f1a8a72aaed85e83cd30ab9601bcfe0e46882ba6656242284bdf32b6e75c2f5ebdd1325d5f8873d5f720aabf297822ca97311afb677 +DIST petgraph-0.7.1.crate 736025 BLAKE2B c5c54cbb0ee2a388c11ae29d20d76ab9b9cf4bef996532aa5ec0d08dcf548218915832748bfd759972edb72b917e88a1f935f8e24192befcfbf37c89df28dcff SHA512 3b93ef0b9b92618b7d5fda4fa35322815ff102065d6eb08dd71706473cbe679994014536ffe2b3aad72a82f1e04b78e5878aecf4893fa6bed0ee17f2ad2db873 +DIST phf-0.11.3.crate 23231 BLAKE2B 588ff9dfc05a3d2cbe223d97c36c8a596d89cd421b568a0526992a089958e4b4ae8f7d33b3f15cf935d20bffea8f60d39ef2d2e1904101f285ca9b8b8155ecb0 SHA512 20a834481bc43ac8c560b00e337294d3c14d1fe359e7f78ed08166b096305e40277f4cd3c179a740911b5c241aeb4e263afa1a50d37f383ef63da113bd6270a9 +DIST phf_codegen-0.11.3.crate 13741 BLAKE2B 88b6f0c206a95945c115401a30ba1bbf6a74e3acd4458f892fcd1eae5312765ed4e17272a814b6242240b97cc0d4eaedbf8c1c37a090d9aeda6ab23bd2280e78 SHA512 e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e +DIST phf_generator-0.11.3.crate 15431 BLAKE2B 0c8fa88e391141d36d6f128fdc3708a87e34ebd56e201ad56d62de8c05e9bff62258dd7f3a03b432ddcbd83c4f61fb9a57d93574a9f9a68e931720733ecfe1c6 SHA512 52998e20648b6ecd1eaafa407f7da4667fa829d48fe0c9f8f718377cc86a232a6261fc2f831ffc7051b62dbdb880654b1207ac314e57b23d2b70f634d07c2115 +DIST phf_shared-0.11.3.crate 15199 BLAKE2B 82441a3f6db12e9021552b51ef4ad8b564532833dce782938d7d721e9f2d8b7015eee7483724552b8fcfeeed365259cdfd5044e9d2a999f42baf476df8141db4 SHA512 34bc3c0dff5568f0276777614d92d87882ca6be9e3d405c1e7de90ac16ec52a12acc30ea9ab2033074d0e988fa514247f37de1a21a3727de0ef43f42f477e27e +DIST pin-project-lite-0.2.15.crate 29683 BLAKE2B da9dd581eca047f089c2a069a355caf66a631b3ff81fc07220a3c378dc77ea2c399b165ff8a1d2f6556595ec52dc1bbdcbbdea5ad9e5e317281650c9158b3669 SHA512 ba3c22c70f98ee0d0e78fb8a25bdc3100b26c3f03f3e4c6c0c238fde75774c5634d6014660c39406a828d1c28f17f44f20fe19dacd331c4da2f4961a7f7c124c +DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST piper-0.2.4.crate 15950 BLAKE2B 265ee8a57029e6ffa6532dda8e4da94a288504b658fceca9426d2c13086255cfe5a1013b58dd02e029ac658b6bfc8ff59b88458fa620a41e0203413b78b7ce1b SHA512 88c6fd8d1118b37b77217fae004e47c01db8f95b9b925f1302c0577971a8a9f239b4ac07ccbec924d8912cc47ccfd88eb2045cc607b5fef3fbaf496d24ef7df4 +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST ppv-lite86-0.2.21.crate 22522 BLAKE2B 150b2ae019f296dc0a15090bcabcf4981bc58159d592b07da729565ef8976e3d1b4416381c6ecaac77874d8e259995254255c8831861ac20922b810753128cd4 SHA512 94710d5b25b67539cfa828476367849e1ecaca744f2e0429b48c05b47ec48cd57f950fb9845a361fbfd96f361ac00fd2d47cc27c584b79ce3d9d8fc133f5b7bc +DIST predicates-3.1.2.crate 23986 BLAKE2B db4209b491f82a1ef6147158fdf86c0bd8a059e61c4a1922dccba257e461be36e31d4a03440c2b80b3c7c49d612dec81fb76f648bd5837c481d93cc9ac5ede65 SHA512 50896189f39842ef424aebc12c2633112fda83eba1bdeaa3e6f398db1e28dca0cc7838948f25e67f6fceede1a91a1b0ede5d4dc4edac6da752e48c7a07bbe3ae +DIST predicates-3.1.3.crate 24063 BLAKE2B f57d4d19128107107b436bcce2be5efcb2a17cb18952221bbcb63691f5bb0fa3932a50e721dcfbd959d27b34084a6a9931378bc55c3c23a6668fa6a552e72abf SHA512 0da703faeb708e3f9eb9bb8803dd8cf6a493b02d38b9b617fd1eed7ccb870ae96c5be6cfe63b7ea8855cb2a019a7ea59799faf2bd78fb490d62e640d1a7de1e2 +DIST predicates-core-1.0.8.crate 8552 BLAKE2B 774ed04fea09335ae9b4e87a237871f954b85e54df369c5be60977381e8cb50f11aa869e5ee41e57e4f3283003a9da67bdbe3460420ac8620f18fd81e33f0597 SHA512 8cfd010b70aa694620d6c573bd8ddc50ea16ba08f6c737902ba6697307af4510b9298ffcc3068b45bdc6430103db6fb4499783c64044d87d023bea46d45d0f7c +DIST predicates-core-1.0.9.crate 8618 BLAKE2B e5ff73c0756f4cd91ff5d2fdd7dfd33e300dae34731933c11798d7ad2e07d9500dbb7828e7473a055c55b5ffa8a761f02a9d04ef313e544e477e4cb94159576b SHA512 618db56d417f44f5575159265f245fbb62399951824730546df735dd9bc9dba2200f58c0a7c7830040bf27954bb48e01fddb5fe0f4d4890d5e172cb1c586735b +DIST predicates-tree-1.0.11.crate 8393 BLAKE2B a8ed762ab18f3cd72ed749cb3db3d756dfd2d3875b0f1c68a99e39ed4ac5c7000086606c21a834ea0a81db961ceab659a4648435d9eaf1bf3d7f29d92410efb6 SHA512 e1b08010f9cab65c75d82cc44cfdf64d92127acf6a72ee0ce1533e5d7d8027ccab912e1c499b7b78508b5e3cb20dc03df94de3dd520ae13736906a5f374b10cd +DIST predicates-tree-1.0.12.crate 8392 BLAKE2B 4b124a7b718d2942f5624d410fb8c59c06e90ec5b576fdfe20542dd00da64fe6a5fbacadcde3c3a6f19b8ef99efd862b08be08e08691e858a4b3d7bd72a4cf71 SHA512 f5f6d7d0cba4ca7176a26d9adea5ded46f1a3361f9b6ceaa7dcf468ce616912cf3b764b8250f39a42a24eac71fb94e0d4d822c89361aae02472cf761ba55dfaa +DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 +DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee +DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547 +DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 +DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99 +DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand-0.9.1.crate 97986 BLAKE2B 98e230dcc51093e9dd842ecfd7fc5727ecbfee1384be2eea49c66dbd529d3c41e4383f876d21569cf57f757589fd89b60550a1932ee9ca359e908b914b2dfbc5 SHA512 0740e083fdad176ae332cbd759c020b0a477fbf22ed71df602adaf7448d76fe2e8f7c770c84cdb492e493275a23171e56a1afe35440572d2a7de56dd78a9a242 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19 +DIST ratatui-0.29.0.crate 543514 BLAKE2B d5e7de30e0c7f077ea5a4d13ce5417ab5221e0afa7d819c5706b711a843eced0d7bcef9f2d64bee5e74892ac9f6431d8ebf1f6b326e467e08e948ed0b86ded2f SHA512 0825af0b840e83e6a4aef9e631ae8840e8f7fe4ecc80dfe24b093488a95e1710d11c9a99f92690b0028f106b3d2351949a2b64016369a1fdf822eb4a2381eeb6 +DIST redox_syscall-0.5.12.crate 29544 BLAKE2B f2a07983008e0d44af2ddcaa9bee19c95312373e8d6ab8859edbee95da7b640c7a0e0f56e6906ebc639abe92209d5bdf8d0d8f5d94e4b831b0bf60ecc24bcf6c SHA512 124c8b8435e8579e5e98848be506c4374c979848100aa7bde119a55d3ea8e056d80ec254f438b04d557a385d03c609a448edf00d7202a52b5d282b302b4fd702 +DIST redox_syscall-0.5.7.crate 26249 BLAKE2B 97f848b130403686404dc193415e5060c32585aa3638b825b4775e54d9a058695b86457ae9e3cc0240bcac27ab4c05dd6b488bdc1c797faecd236c6e477fbc3f SHA512 e9f2d254279a4063089436b699ecca766a997a72718d132a9b35f7c8c8fc82c4b5e25fd8f3e6cbd17920fec484140db520c262376ed1c74f847929b7f43fb97e +DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 +DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f +DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2 +DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST resolv-conf-0.7.0.crate 17352 BLAKE2B 32b565a11d5d752e2cce2ac7b44e483b8a682220c99a9ca34d0a440d87cb5a874c407d474e47757f128bc5d78ea57940452eb099ea6fa433d8f6d1fe881f4302 SHA512 538b97f88fee8b82f15845f9a596e09757e3c2869c4e8708ddff97e19348e9f88d4bcf75e810d2aee47113fa64d550a9fe2deac6fc38d95242ebc20228e9b5f4 +DIST resolv-conf-0.7.3.crate 16929 BLAKE2B 66f42135c5acf192b2c1f0ee30a2bc49f78365833a033fb93803a534b4638621c2904af407c373cd8d422702d6b8f0ebfb949bc35a0958000869412b5940a6a3 SHA512 39216a846a403ae04ca983cab94a4c1168cc3c2118327eccfea9bb87233abcda605ed1c2c0bdb208f856c40e61f0a66a3bdb61ce7896846ed24b38958a69d443 +DIST roff-0.2.2.crate 11648 BLAKE2B 38431e1dbfe394274c09e32a9f4c99f7e208130efd1765e9df0c08cf313a0ca81d13198158af6342ec658648cfcfe2e3cae5a5306f8e27e18af7b8163359e896 SHA512 0098d4cc921435cd48fd924d96e8dd27f6443a9b6cba847388ec4be7c2222bffa7a1507862b8c120314d32d08e0cc04e52d44973e25d85536a3a2560fa2a06aa +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustix-0.38.42.crate 378683 BLAKE2B 4071e1118ab8111bab9efef39c6e35f8a3030cb230cb3643df7ae09ffc750b18becf1f069c2714b0b6d13e334c12446433057fd015c9dec04d7a1372a354ae05 SHA512 438bf1e4663cacbc7c0af23b10ecc11c8b01c53e18c2e82a740c46b4a61f06cdd25d926aff27a9c39084c39d9c950c222a1a3a6d5878dd240554fa593fa762a5 +DIST rustix-0.38.44.crate 379347 BLAKE2B 780efaa7c9e7fb78782c552345ead692e4dc87a6e68fe9c972097ed4ef9066b54633c565d4f1b4752e08a1ceceef15ed5d8c11286c7cf17d971648ac5f9d399f SHA512 b7e66a27c9188eff307aa9912852706f686864852a97af0696ac5fc5dccdf2e4d22a69266fa74ac71aa123e2831f24b898b7ee9121850d65cfb56e12bd647d8f +DIST rustix-1.0.7.crate 414500 BLAKE2B 493473a0d4c669260efa7017981f2e095acd5edff597a0f9808c3501336954cc63b54a682e35740a3518286e8675242790130f6690b42e10738cf2ce95d1c954 SHA512 b8fbdf01af89ebc59d4ed6b5889e5d483b449857a119bea8746cb30091d707beb0c36da5235d85913092e0314b3a702ed8159bf59eac6655f2ff2da9c98abd8b +DIST rustversion-1.0.18.crate 17794 BLAKE2B fa35445404b836214bdbaa3de8e43312b6d8f50eea32540f808a6255908d756bb1a5dcf49ca6268a1d214c535c2ee770e295c0e7d6430268142a190b31032421 SHA512 263d2cef02b6df4d38b35af7a9ee3a6a044f160f3cf7c6771528f23dea342232087f73f89e419ef7869db771e73c273c05b3dccfe9e29f707586b2059e820645 +DIST rustversion-1.0.20.crate 20666 BLAKE2B 49fabcf276fe3f59b4a1c2e8a07364ba59c5ba4e0a33fe4150ce2eb93c6da42d32ad4d4a197baf6616c1cd703d34fcf5a90186c5467c1656388d55e7962d01a3 SHA512 250be168a4ee64f4b85d78658706659122d5fbbc748f321fe2b9baf48c547de4f0004c87882642645994b7798077c514a44e06b73784a800d04e4cc673aa8906 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384 +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST serde-1.0.216.crate 79000 BLAKE2B 98c0f5cee2f9212c6b7620d2068665379471ceb7557d1454cab9b1c2120b526ef597fbb642f65440e70f92a4764cad33613b478bacf99138dd5bd51fdbdbee6b SHA512 baabf4c7aac4a540c9ed18b336662087258b71c9cb0e547c8d83a2734818ab2cbbe62f910d812eb61d3d46e653c41a3eebc99b1d679bfc51f95710c71a8ecc20 +DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769 +DIST serde_derive-1.0.216.crate 57674 BLAKE2B 12a9228679c16288c08c8b256707e276aec79f84ac7af0c4cfd1f109500dfea80438df17d798acdd30a9743c753e70093b22bd324217529bac483f257682a3e2 SHA512 80fcb552279ac7562297df878f2f5e9ac09241701f5cf1088fcbf473b638f58cd3092a7930d8937ca0df9a47b9ae1a42d490cd46a275259cd8089fe8f5426469 +DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b +DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f +DIST serde_json-1.0.140.crate 154852 BLAKE2B 733aecfb88fc37de37b60fdd33a45fecc2bf0ac2165b81bdb12665de7e26633836160e927be5d538eb2056a799e85ca4a1008cbd30af23b72a594643c6015f22 SHA512 bafa26fd43ba30cbf73572b8203292b1f275995636e9dfc3d47954939453fe4ecf0c60f25d2af1ec16c7cb0e7ce3b96cc07507d1b53b7db566fe7cb2624f0e12 +DIST serde_spanned-0.6.8.crate 9330 BLAKE2B 630bb2cabd74e8d9736e315ac57c4d2c5c4f72264aab35ecc8e0040cb4186885722051a9f7b8a9006fd121fe58428cbb151e5cf541e7de30b6528c84e968f7ac SHA512 2343a2fda35ff57ed8ff7d8eeadd651821fce7e22f91c2d5797c6af7db9e009b7d637382f6f390c17911912865a5aea1ce87a86fbe36f4b6aeccb065a4c8942d +DIST serde_with-3.12.0.crate 148666 BLAKE2B 244377aa9de46c77d12f0348a2656848ab44bda4bbac2f14a607ccfb532cbc33597e0b3336b9fff5242e8b907f59cbe093eac7e1aa9cc82e320bce011f5d177a SHA512 243b4aacf9f0aa9c3915274650c2b70ebb389ef0b1e607afba35f0144199073b573703f8b66bcaa875aeb434301ec2ad209c3d54160f6fe25dc2e4a9fe48a53d +DIST serde_with_macros-3.12.0.crate 32089 BLAKE2B 667db574c1a7850917a6738ba55447285085e87826b04da22b6be92ecf32ade3f0e99f63c738262f822820674b09be742778223f28507daf75324f4c62195e98 SHA512 feb186b9c51325a19643217ca2bfafc6f7e5433e2e059683ac2f271d11641a7feab728c5e7e37a99310ef259faf862b6a42ec41e77ff9b3349cb04333e008907 +DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signal-hook-0.3.17.crate 50296 BLAKE2B 5469a11485362b4a76f99c06071c69f6cc083bf4cceea93fce0b43385163ac3621b7a3c98d18ea1fb9e1439460ea37f470a29bfde9dea199e60a12b248be5d25 SHA512 045ac6268e504c5561d3884610a48c930dfd936086f793839f42602e92e4a8cef289955776e8eba8a5ca1a91b5f27ccb3724f49b32091f8f06c8bde984d82298 +DIST signal-hook-mio-0.2.4.crate 9314 BLAKE2B 018d406ae25802cb376c1f02241ae8e7018f2f7837127a9db40fd17df1cb3e13299c2c372257b0e82aeac1a77b75c732c7344e50e969180e696bf3f8e4836f62 SHA512 1ce372f4550c046f1420b8f4a29cc4c8e904c08fd089cf973f26aa25b39cc6199db56d2ee3bb34684732b79237648e904389eebbc32b5e108f7d6a2d22b1cf3f +DIST signal-hook-registry-1.4.2.crate 18064 BLAKE2B 7274d4c115678eae2640a709bf9d682ce867c1f6295a0c5f49e492f95dd1c457f20b56207a74221df1fd9d744b24c6260e28f705777e3c7d47b7bdd36f1d57fb SHA512 16362d232b1d301007c069198d7716848aa73d898ef92e050422b36c09001b4334390dc95a6650e5315377fd8960d4336e5ae869b0a305e8525e977b8327c508 +DIST signal-hook-registry-1.4.5.crate 19004 BLAKE2B 6537f8523aa03e3941bdd115b35716c62ea523a67f99662e28a2d384a5917c43c68a3a26ee9af82ca44f07494ddf39a5ddf2cbff22b0e0a9fc917cf72bf57b5f SHA512 8e7c41c4b57bc5ecd6cc16e6ea8206af0005ba1e7640e2eaabe84c81312c400c74efc229b563f4627fb7d167cd7bb43e0d2d75ae5b8c545ec9ef43f967ba838a +DIST similar-2.6.0.crate 51659 BLAKE2B cfd3fd530a1bb99d63a071f34b7db55210edc3a4568b45a39ad67a0f9c1ba7fe7619a5c78f452732f698cc2f4df8e2e90d174c469e103338a70af016c030499d SHA512 cad3a5fafe3ab0c8eb08d87f982d7d93b9e65a714e3a313db92eb4e3b2c539657bdb7df4bb71597300b690248f45013401ab83f949fa8410606648e2ccb87e0e +DIST similar-2.7.0.crate 53928 BLAKE2B 41d6aec64403069dcf81a9a00b9db041967b89d09cf9f2371444928f32bbc2a8c6066adb93eaf25c72a257fab87e24c160265d687c4e33848728a4ddd374012a SHA512 4a2559d2e47e7747eb2bde0f02a0e652ff0e116d1d3c3756dd86fd48f114e2b42157b860165e5cc29c2123cf19c64ebd17f023aaa05950de03ab5752562206b3 +DIST siphasher-1.0.1.crate 10351 BLAKE2B 6653898cf0eb071fe83b7c317f93ffb73bd26ed601961173875b26ec8851632599891ec178b7e14318abb9eb98d522db8022deb852af9ad9f6bf38a5a5708e82 SHA512 d230991add51a555af95b30ef104c0e5ed7011fafb92d6ac9ba0f238c8bf4d2fbd39f4b04dbbe960453f8fdd16d3768ba39f39e4877ad453562e689ec8f24a28 +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST smallvec-1.15.0.crate 38113 BLAKE2B c8507c870d84d528c9e17faeb342e4d91356c86af563a8cac7b3a29cb5aa760d4a9f54e5f267d0452cb7301f8acf4da1ac0f48296216417b327441c18971a06d SHA512 c1fbd7865a629d368776544c2faeccc711df3d27d97db5fb2a169933f3cdf66abbdbf476dc8af88f30d5cd6cbb3d601acef8abb74e7dc9a36dfc538dbdeaa988 +DIST socket2-0.5.8.crate 56309 BLAKE2B 309e5a0e46d0b9debbbd6049a138e56b82df4fc0e9d1115745ed935eb40c81b004ad748844f641934e13b5b88773db5cc4a57fc9e61dc82b5322fa0232110864 SHA512 b7d03608a3d4cf3e2d1539b5a375412effcc96279e8f57668fa8cf67b3f0a3a6b611ea5e2e72f282460582954acbb5364320611f7798a11ec9e4833e53830b60 +DIST socket2-0.5.9.crate 57432 BLAKE2B 07876ec6fbe32656bb7d8dc7dd03c3b09bebbc77ff11b9581345473b3d420298432f3ec4271b6e0d2b4ffc113b1237937b2a6fa204856255f8027cc47d9ff2e1 SHA512 a73a30999b30694dab5c1c129244a46dc1773a95d30b82d58ece646c401553719d9830d62c793a7616c7f2e77280d3121ef1b0287936b19b97368ccf040f0918 +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268 +DIST strum-0.27.1.crate 7467 BLAKE2B b577a85f5d4151fc73148a72697fc004a7f8a964866c9773d62a2f92356c1ca205ee323a1e9353e4bf2c2e4dd71983026e311cdd4a5fc0a918aef57fc76705c8 SHA512 0ba8eafe76c0cb659500c73a7e402ec677bd07264ca6f6179d66b90e5f9193ef420957faa4aa70cdd7fcf69565dfb4f7940731e555cad6cadbe2e4c7d3016465 +DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b +DIST strum_macros-0.27.1.crate 29670 BLAKE2B 121560118a194029b32584467305902470b83d768d33f166cf67994f33a9780cf1bff25f2199c2aa50a79362501a6cb40ca45c01cdd6c335fab1ebfadd666b4e SHA512 b071fee5d7530bf1ecd31b635a61858921c04dc10906bf57caa38a162a0e2ed726c2f72262081ceadb80c03c38adf235dbdda604dfcf3d439c5fe5a73a08d0f0 +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.101.crate 299250 BLAKE2B 7018cdede66dca82e7d7a7e07e52a178687957fcfd69f1a2862094497d2fb9d78ada14b94761679bbc5f6c76c808a63e948ed071e4f65c2f9580a40bf58c9426 SHA512 05e4233a51f4d229dd4c9bd23c5224c42ec5554d02fd316dad10dfdb876aa1d379c7ea30b1ace979537da91ee746ca4fdcef7690885f83fd41ec8c9dc5984101 +DIST syn-2.0.90.crate 290584 BLAKE2B 9f469001c1439ffe57c578119653d3021c2709767e8e881441459a190402679f4fb78aa65e7822ff20913801c3be00d9b8f115189ea8e63ed94ed359b40fc9e1 SHA512 44606124f113c259c19edcb2adc1378d8292b422d800604c0e0d1ba89bd2d13d518cf4a6afa58daded54da9cb285464aadb113815406a0f09c5e18f865789ae0 +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa +DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb +DIST sys-locale-0.3.2.crate 15072 BLAKE2B d79acea3a652a46e04836735b1719a717fc904665f5c3fab0f71d53b09a0edaba6be2229c8439ec2e8f06c8fdc3de35f404c57e5467d02346b6dfc84ef495379 SHA512 9f05bf61cea92dde582f05f483fdcb9930612548c1bb790328dbbd38ffe798a89300ade79e56f7454c655b64e027fe08452c1e1c2831cd8e065e3662e8d253f5 +DIST terminal_size-0.4.1.crate 10037 BLAKE2B 1d99577917b88498902d85718b4ba71ddcd7a1daca4f1b38f4b5ea4c34533eab9cda2cc344cdec5a31ffe0152fbcc5d499ccb40dc73f985f083a3ea21b0b1226 SHA512 e07bdbdf695bf9a607ea7c7c4c5b22a8637b0871877114aa305717a04d31a6b7670e2a79435810aefefe25db8c9a655e4c4ba6075d4ec76322a30cdf71ff03be +DIST terminal_size-0.4.2.crate 9976 BLAKE2B d6af7059b06fadd5f0e75b1a9512231ba0cd3971d6357d32f63db9f96cf384102939349bb579e176ff4ce2176329a22fb8e257b096129031519b2a02eea4ab00 SHA512 a0c285ad1b1a73c9ecc725e20fd9256d98f89a5530263ef6726786d73ef123486bbf17ee3166c22bdbb7aa4fa989fe73c995a4642e3e09718dc1a76a1734c84f +DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 +DIST termtree-0.5.1.crate 8498 BLAKE2B ebe1face80741908e28d3fbf828bd0a7a70bb317f4532fe38ac9b6adae898a7032f751718a39300ecca8c7bf0ea6cca028c02c93c7ce7a645d67656318e90172 SHA512 43d92132cef6d352c6c0190ce4a688d7cffb61ee86dbc6b49ba1f4c404661f9b329331198063d913ae52b2d4c69e6a2d9f5cd62886894c468093abd8604f0125 +DIST test-case-3.3.1.crate 8797 BLAKE2B bad61b52f7865882cf6f1ad9448335a8c2eb725629858d62675ed5c10e3a160f5b2cf28cea1179a0c1fea1b33668a70f294b8a2252db460490f3c0bdb705e7d9 SHA512 9d6836759dcd71a61ab4e395db7c1a75a14ac3102a36c39b09868ba96d28a2265d8ded385942e55cf95dafc7f4b53fc498b30b6473cedc9b558977878e831b3c +DIST test-case-core-3.3.1.crate 14327 BLAKE2B cdca628ed77b8d7bbdf50c775268f733e125fdcdb4425d228691d9650558c3797876f5d8e900a7afc330f61c2be588452ced646248bd676fe4da1a4f8000decd SHA512 2c58aa3c9051b99c269168d5d321c73314188501fd33170a8a5d44e860354f5a399545abbdf50478a43d13e15ee9ed53d4a9c800b263a5e42b97416f96e2c0e3 +DIST test-case-macros-3.3.1.crate 4961 BLAKE2B c3cab2832fbcf3deab12b13bfbb32bbe73528df4d98e84de589a39cd9f3540e308e307148eeedfef4822e3f6820e1b1ba93b102851c7792c5abda25f735b9abb SHA512 3383ad7fa23f09b3289e2beefb2a2ea6bb7f7f48d71339b4c1e613c4807e83e4ab816b1c36369524d65aec7929064d2951c758d9c88164e7792a0a46fbf2d933 +DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899 +DIST thiserror-2.0.12.crate 28693 BLAKE2B 1145357098af4342f8d5f5cbe329acee408cf35b86ea97a0cbdca1cecd18a67f4798518266bce21f154a8b3baa0291b7bfd8edfbe29879364cc86e76e7c714d7 SHA512 aeb6de221b28443adba6a03337e7c70c54f99fe9500e39f904c3a8e612d895bc65025fb72c861890c7c011595d2b36832f4b642781847513edce1416b30f309c +DIST thiserror-2.0.6.crate 28433 BLAKE2B 11f70af76b17ff3b48f27b47031f2f976b9939372a145bb9261236acf316a7230ab1bcf51e85b66bbca3a12a4a9eef404f1fb24e8588979b8cb707f374514140 SHA512 95c436442e3a6e3c841583669e5504c009522d23e124a9d5b7ac4a91346040baa294ca810ac035155189283f7d82c54ea2ed9392619821f6d2e3cdc439d48772 +DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3 +DIST thiserror-impl-2.0.12.crate 21141 BLAKE2B 091cfa822bdf6cbe0730ac0ddc19c6102f6aa341fe68b18f335588f1166d9a0d34278c73e440c657b5890689f2c73c3c94f4d07abcf7bc77ac2139ce6c0bb555 SHA512 01bb00310cd8e80386250469ee7be2cb8db7ff4883869f8ce2ce0de1742292ed4e6d7fb1d7520f1e2555e72044309015bca84dcf058bea99b8d3db970cf0bffb +DIST thiserror-impl-2.0.6.crate 20946 BLAKE2B 44d9530c7477e26628cc668ec5d74dbe3e27e9f69ee2d2a5c9694875570abd5dbb73f4b6c45bad311254c3fa21d3a7511006b8d8db4ce15355f1ab1d68f51316 SHA512 73c5e180d087c6cecf3421d3c56a8d13b4a908fa9dec02a028f30adeaebbfc6ad7748837f08c5286007f09b7430df8677eadc50527d6f17e2341341441ed6059 +DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 +DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df +DIST tinyvec-1.9.0.crate 54137 BLAKE2B 68a96ec0ffa392586c3bdadf2323b2a3b416ecb81db5d18ae0e05187b097c7882da6678bc881e70f935554862fab5cf41ae590b27e0fab7c1c73995449b84f5f SHA512 5f42811be51c58c72b80fe9a7199250fb6176f5766dc774b39ff656ae5ebead0d9c91ed7db1046288b8e05e20edba36455e4cc6fc0766c60898187f30c232aab +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST tokio-1.42.0.crate 806998 BLAKE2B 9d33a892eb8de63a65218da70f29f21b75b5b9635cbde0ae0667f6de117a4c6660cb2bbc1316b76e9e796960b7dc6c2b31c146f016cc147a2f11333b26391a5d SHA512 3cdc72f3209057cd0f954913f3d26d275246e0a2d63171f84449257de55d1a416c65b340d38a0d0c7fa33bde36bb612f550cbd43a49df22781c84f8ab2bdad9f +DIST tokio-1.44.2.crate 841618 BLAKE2B be4c5f7aed9ea72ca70eda0b51f2c410cf03ee2caf783e48498eb7374bd3ad4085206f05948b7c30e1154f6a52b36dc3035e5e399d05f0b648c7d9f412feb671 SHA512 26cf5dc0439429c3f8d38c4cbd8a5e3a1db8c5188e0509ebfdaa45c7b71d586db89e8441bd65eb8269b095bf3d42f7bdb2baf6b788168ea19f953e638f4af6e1 +DIST tokio-macros-2.4.0.crate 12501 BLAKE2B 9b358adb86e828faeb956d24a1ebf68b51a69bce519ad9760ec3d3b8eb1cf4435afd4edc5ddbf634fe152bc77b8675182dda3f076f1011c5b5b97850c1fa1689 SHA512 f4a445f6c2cc7c1cfb5825919cd3dea3af52720c7793c20601d05870e7efbcfe0c6231fba7ada49b5ce46757f0e1475b3667914ff33c2fcb25e9a40151bd2501 +DIST tokio-macros-2.5.0.crate 12617 BLAKE2B c30d0011173d246dc82a5c24ba97b0ed6b66bd8f19b0977e0305b03843b3611528fc5911b632d2c46bd22b8fd2e8488956bde0037c322a3ff8b7306e72cb9bdb SHA512 c1d24cbb8b3f500357e39f93cf139790e4bd3ad1657dd5d695f5e4f9a2a460cd63e8c1c32a36b64d3cadd7b6467e59ee34cd5b1548a99449d8e46c2db83e9ec4 +DIST tokio-util-0.7.13.crate 115191 BLAKE2B f4acc65d0fd14a88d46545bec2313cb1f25e1cb76014d09c34f8a8be62c6901ab09b18d7b32fdab58f6594fb861bfcb8bfdc8825871347d7eabe2bd8117768bf SHA512 2a1e8fbdd094f81e00ee87eb5ebc4c62825945048105970e52d6d0a872769d268a41ddf91c60158c02a303ecbaa1b19795948b5416f9bbfcb079c5b27d39d51f +DIST tokio-util-0.7.15.crate 124255 BLAKE2B f24525a3ec474921cc5d8d1dc12355f8ea5e7747be5299eeff00664ec0f6f6edbc33bb1613f64dc47ee6117c0d32cb6f770bec72f3b0bd549aff392969097622 SHA512 032158c36673c589ba09c52fe37bd0c700956fc4f89a7991f3cf93b04c8a12d51d1e05b8c6f493c7ebae7985e653bc3fb8bad590cefe329a1b1fa94182649520 +DIST toml-0.8.19.crate 50974 BLAKE2B f68987353837b74421256fd9a76134bfbfe93887cfb25145b65b7e6b31ad2c3a3384829a06f50c771a2a0be0c5467c856cc631af69f586ea056c4f15af9e3b7c SHA512 16fdc58d14516e81badbe8c9a4506db75b559b377c9c4fecee79e76007b31a4abfc8c8868bf9159f79c6f7c0218f93bdcfb92b669b0917db7da42b51ec155751 +DIST toml-0.8.22.crate 76224 BLAKE2B f5a6ea77cbf14ed91becb919a2ef6a585200d16c0cf3357692eedf9db18b812ea0567eb8dcfcfe16b348558a810cc5202b816389fda22622a7205423952b636c SHA512 9c5efeaf6d35c409cd4dffac672e9af7d09128715b66f277a673aa424be66dcce398bb123f19ca6cdf34c04ecc796606e3fd909f60cca4e7e46623ed7eae2e0a +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_datetime-0.6.9.crate 12622 BLAKE2B 0362fbee2359fb7388bd679ccf114e554234294437dd3aa26b0e969aadd0e0fb76ad89eb33e0c4a2b50883764f64708fad2e265562feba13688fdd07623e18af SHA512 8409a902d7f6c22a8837cb71fd0e4fbb40b34c1608c3e858f4f5268c34948b94e9f9dae9e6f3ba73c78e3db14754fcec0b22081160acb228ae366aeafaaead9c +DIST toml_edit-0.22.22.crate 106387 BLAKE2B c658eef2dc8420266a6928d7ef46340372af2593e4db0d3a67ec88aaf8f601d37d1e9b5bac231a799be8a2ee68a7d98b5f651e9c109d23d8b19b60cf75debddb SHA512 0f98b371f7e27ae7f435a207c0915f942af145cc5dfabfe6d57f2b797efa3e706025401e501fccc6df70c001ce27051381556b8e7824447edd23ea25d047da4d +DIST toml_edit-0.22.26.crate 121714 BLAKE2B c1e39ec75d3d34e038d7a7e3af4d74b1a53010ed2d837a3643f08e459231ec7f15c149910dbc5294187601e342b0ba03fa8129dbc879b326841a32513ed7fdd2 SHA512 8cad3472f790e3423dadb34da76f77fd122721daa1c855a749699ac0af8e39c2453ed47369b14e8603204acb896a966ea98857118003a5d75cc48ca5e28ecff7 +DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c +DIST tracing-attributes-0.1.28.crate 33280 BLAKE2B 4f4bfab16ad8a296c9399125edfd4314d55ef58977d8a1f3e867618617feed898cd14766527c9b788d5fe3d3f8ee5bcca0e26dae79a2e6cf05366991ac23dc10 SHA512 4a3d5fd76efc414c86af0721aab9e9aa70fcd6b08eed4acee8c2af5af56fd665197aea612187c7f6022d1acf5567d5b9e72a7dcdcf25cc401135d875d95a99ed +DIST tracing-chrome-0.7.2.crate 14030 BLAKE2B 6ffe58c4b60244d10e41addd7fe1532849a0ae56747bfebb18565e362c727b7199592ffd524c39b4d478da7dfea2dc03b1be47a1908f91abff7d5edef67ca410 SHA512 0ea9fe590f648a193714890da388183305d4084696926f5694eebd3c1da8cae922df335500cafdd60ba16ee5ce59a59e4fa292b97ccf739a19c2fe7fe145b0b3 +DIST tracing-core-0.1.33.crate 63434 BLAKE2B bc36332ffe5f4c95ae2d12df43944bcf589746cdb923a39098e5f4007fd1f19d7c3bb115011ddc40c13e3ae0e5cfc9a59c49861824e99fed7430fd29479abacf SHA512 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef +DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285 +DIST tracing-serde-0.2.0.crate 7755 BLAKE2B b2c50889ef3d65e843133c5c518f907829c14997155ff56da129b32d74b5b99aaf0082ed9963a7e1f9b20072ca28fc5b9744270c26456490c54a248277b3eb23 SHA512 d5914943ca8a80959287117d5d5f3fee0f01baa49cef02002bbd00507743e06c3c5df31a346dce54b9d5d20358fd512d4ae54a0956f1dd334b9bf0c7e7594823 +DIST tracing-subscriber-0.3.19.crate 198345 BLAKE2B c7083168e62619c856b872570b85b44475edd687fb6d5c3334246622900fcbf4e4a8484c23362fbfb358d6d9f8088f7dbad2e2ed30954aebf76d1b57324b712b SHA512 840e35103f1152e94ef9138d0f03f157b296def538bab6c7464fa7d363aef7734feed196091782dd3aa9bf06c7dc181a2c37149a23f5be036f00c00b5200686c +DIST trippy-0.12.2.tar.gz 20922811 BLAKE2B e78ebdceabf4cbeab886742fa2085e05a01744cb46cc236eca81fd105dd74288a12ddf34b2231fdc238efffe1ac23a442b0ed90f1b6e6b5eebfc2e570574d0ca SHA512 703db726d28f555061dae415ca684e15ea342a733ca3318410b424ab4e45e9b411ca0956449050e8026b0db3ffa09d5ae9a7e724db7ccfeff054511ee4705586 +DIST trippy-0.13.0.tar.gz 21102128 BLAKE2B cab7d88b0c1c83139a80ed8b8f6ebfff3f0ee686740e0176d4607bb488ff94e67d8e5fee4a2e3079044d3401cc54be194054e8e603f3fc76dd279ddd8268995b SHA512 3863fadfd0d9cc39a8ef06193a866405774634e871f45280bac906ea11b618d631a401facb7774c4ad0ffa6a4f1c9a64bc80cbb1f50701ad646b460698881922 +DIST tun2-4.0.0.crate 34496 BLAKE2B f87c9bace127f7bd616d3af68075d800c853e0140c2578d9b11134f1e79371c6cb75c5db6570c1394b8fffd365c446ca672d33dec8b12a14ee220bd0fc2216a8 SHA512 77fd0e9ddaec79c71a9081f223d3e03a20dd669329a190a22fe1df2c96e691e1455cb96fb25650276896bef5116926df43b6c359f6f76c68698242e1db98f0bc +DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a +DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324 +DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946 +DIST unicode-truncate-1.1.0.crate 12529 BLAKE2B 908c794c44d4928bcb73e3cb7f89a5f57ec39bb0a2931db282849d547fee1e228f0ae01d50421b86a5d08c4860c4960d96909f1444e00179ee7309e25e1a7fd6 SHA512 090050af06ec187902102b07b2caa4f5c4d1a046d013aa1fabef9d18fd3679a6dc4dde6b55b9f606dfb057349fb5c10e2c229d3577116c9fcff07f1099fdf4f2 +DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb +DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d +DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387 +DIST valuable-0.1.1.crate 28679 BLAKE2B 33a68f81cb0448fa737fd7416f2dc1f0e4f171851692e5f759bc375ca8ffbe6eb53912823a59da44228029d379729b669e8213f00928c9b1a182c5d26c0de8bb SHA512 d8a4bffdc8a166d1ee11b87dd91cd68e5c898916b14db7039ad2faaad34f4bfef76f3fc3d17d6e7bf05e495778f7c9d5223fbf45331bd114f93fb6ec950eadbf +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3 +DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3 +DIST wasm-bindgen-0.2.99.crate 46136 BLAKE2B 04e69294da3dc4feff9001185bcc5b864d1f14a1ead6b9a31c830b2043dde191f9f7c65755d607365a3b8885bd340bbd266e26cfa74c48464933c8d7a1164f94 SHA512 184aec11998b99a730ea5b63d6141260cd0b7cdc29b02696f533b3e75ec79f7c17c6aac892e7a7b24036c6e73592d01df638ca31b54bda11d3bdbf857b1489c2 +DIST wasm-bindgen-backend-0.2.100.crate 32111 BLAKE2B 6bbbef709753e22230176121388a95fdb8f4dd32e0755dce5bf6c1127c54a236af292f319d14b5cd97bdb310fee65288e8f404921b83693e287164cf9d589a2e SHA512 a2ee30c1185644f989af6be34e93149a791c05125de24c0ff91c320f683f6f5d939fe42b8ca09d629096388a39256469f8b96a6e35722ccfdbe8d978c9a51770 +DIST wasm-bindgen-backend-0.2.99.crate 30928 BLAKE2B ecfa94a461df79a33fd2bb9807374a2a0c7ac370b443e5a1103ba73a29c9d337ed3feb427c80571ccc15599f81135987742e698199528a9c1bb570baef3e9d09 SHA512 8369a5e618223f09fff7cdc35662a930b3eb11024af51bf5fb9e70c45dfa22452a518d723f3d912c0c970fc4bf748ef2d83d48756483174993f7d04c92d9621f +DIST wasm-bindgen-macro-0.2.100.crate 9663 BLAKE2B b8a3fc6b3571f8caf106a9e9f3d9cc48b86096d714c5d0208f03d44d47003b3b26441b5cd68bcd49a8c05758bc1b984e460fb62ab439ff2d68c72766ce20358f SHA512 a1942f838eff5fd54406b573d81fe18f262df48a19535245b1a46cb31db2a022746e861d72e5286c632969d15d416655460d3865309c4947cd3d7965dead5c42 +DIST wasm-bindgen-macro-0.2.99.crate 7011 BLAKE2B 07182a9fb98f519d1e5c934e609d7a42cf2409319f59dd901e2a5bec77972b4d16fc6f67cf40ade58af874b05faa981c894443d3950616e2aad117ac7355ac6f SHA512 344bf5192e43582246efad257c600003c41b589234c1900f6ed201f96b6f7665eb55226da15d612060042f89c6214e452489cf3aabc61645843be9c27f9cca0b +DIST wasm-bindgen-macro-support-0.2.100.crate 26243 BLAKE2B c18e35978b62dd2822ba8a4f6955cd5154b2a0d81b8e8032c2f8bda42c1c25f74a13f3e1c3a7bf47a823de2517a237e6a1aef18b189bf1f2b934123c58d1eb34 SHA512 0d03eaeda37c9c6ae06c0fa96e872b54780c4cf545b621c730dcc113dd59a8cb6333c5e3818f51365f71913b9669d8a870a06e70729722d03c07a49cff8a4fdf +DIST wasm-bindgen-macro-support-0.2.99.crate 22800 BLAKE2B 9772cc94a64f768eecae12072e6d700bf95fded306297b84e235f3450f7c5630cb1985def3eaef05aee193c693f92c6fa61d7a6ca18e84a2b73aa38f070d47e7 SHA512 936ab8211a13fbe8b8f21a870a78c03e24219d0872731561353cfcae245e9f632246f179b67f2b13e106c799e68c5c39f9e388370a8ad3f93f299c4804f5907e +DIST wasm-bindgen-shared-0.2.100.crate 8570 BLAKE2B 886fa72cae891d4c2311e12e28f0a7bde9bcaca893603afa3428a402726b3b2bcdb6cb7dca6fdf983bd8fac5f049f0543537f2161318769b43c7eebfc906df27 SHA512 3fca8ddd1c6b2f66f70f6608c9b341822603f1c0dd71d47d27c6be8fe3f2c88598619946627720734b48cf999cafd0c63a08af5db28ea78a1538d2165a5fba61 +DIST wasm-bindgen-shared-0.2.99.crate 7773 BLAKE2B 73489af59d16f4d0a1ea51b535cd02d2759b5b7b07873d8a71fa6bd6b6ce1cfc6e8139e6a79346abec13665ed9aeadd0b5b6aed28ae008f9dcb3d5da9fce665a SHA512 8da0f107be99b6666cf1859d68ac0a7295fc03e7b494fce1df9dbe57d21807de8e2bc95f5b974562303923ca4646f38c5297588ad7c97bd59ef236218b2a64f9 +DIST widestring-1.1.0.crate 85046 BLAKE2B 591f8ba6c3c45721d342fd4668805c19915d500b2b46b8e1e75a485ebc772db187acec791205415e5cbf288ee70299a5813a3185d933443d426eb61d7fc6003f SHA512 a4feb959e19d5238e89b0973f040b26849f896e7e9fd567d0e74fbb4972958a4dd76e74de5ea8d407b74cff28f20f9c80446488da6abdbee38aa87a94d683435 +DIST widestring-1.2.0.crate 89105 BLAKE2B e95a53d53ffb3980f808ce041c686526ea8bcfd1f2efc53651d31b93eb7efc80330663ac5c42b219ef6b88c39f57bf3c5c96bb68553193f85213ce0bb2b538db SHA512 004cf0367fb49802fd6c1eba2ff7bcb61f49409fc984e0bbb0c833a7721729b09a2e2e5c67fc0a4b1c36869679799b14fc2be4fecaff3c9d0c1d6a7ae7c5f148 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-core-0.61.0.crate 36707 BLAKE2B 4575282e8f633066e3d3b62ee1cf83cfb2f6755436ace7368f9788c4f87e3bc3e4bcc334f89fee5aa8e364df38cfe5a9d01c44dbeb08e503cc4ddc4cf680a1fc SHA512 56960fbcb37276bc0a23b44bdda7b9cf577710f8c83ae3092b57dfcd5eba0ad7279314aada9a3ca9074a87e2dad4de68e3e3acfa1f318080e37417e9c743fafb +DIST windows-implement-0.60.0.crate 15073 BLAKE2B ee01abf1393df94e57860440c2b768ffe0469628af014df24799947c923a7fadcce652622c29e6820857607f8ea4024c784021473ea2532e2d51c60d7037600b SHA512 e0e423629b17edd8e7a202170759dc07e51eac3184111ffcf58e2bf8c94cea5c9c50015789873cad526b5a0cd3a12890461a91cdb6a04b0ad14926534e0a6d76 +DIST windows-interface-0.59.1.crate 11735 BLAKE2B ecb776c43d0c1c8e635975a141ea5c3e04639c10058d7bd55e8408fc460def54feca0984bf03504b004f2403b7b62a1df14f31ac2f2dc128b9b7f1e4c373fc87 SHA512 2aab8271746f67998a893f97aebcbb333b5c83d0ba28931b4cbd356c3897899cdab0b58c4fc82abddc1eedf758fadc6880e8bf35340929827e572d5b2653f9a2 +DIST windows-link-0.1.1.crate 6154 BLAKE2B d8f59d91147725361731f1ac6cff6dab321f8abc3f48905bcf931cfbe549d7531bf078f7aa2c5575bd76f467d89d10d08c42f8a3f60ef8e22e82d3643cf3f415 SHA512 bdc166363e08dacd4c320984b239a8976467e59a0e6431a0174cbf603f547bf2d38b6008bf8e135cc3610b71811c77121e6bd61c27622a7be1d143eaa9325fa4 +DIST windows-result-0.3.2.crate 13399 BLAKE2B 89f42f3e4a849d8bb1f6f490a42dc2b29b9486228de4dffd66d6be5072e594f5417e0de840094c5559cae57d21998c131d28f1368c5cd055cd6451265f37318a SHA512 4a1126f92c6bf2f52fc3fdc3e9fedbce83f082c2f929cbff593e825c56423bb449ae47374d4403ae6222d80bcaaf4f8a532b5ab6a67b734e545a606ecf8fbad9 +DIST windows-strings-0.4.0.crate 13939 BLAKE2B c2b1e1d75497dcc0001a755d1cd53ed7879c13998a7825797de35fad89e34c1760f59958594954d25aaa8c1b991ca8a76cffb30afef6f10beb4bb490c28cdf64 SHA512 934bf16d7cee8b34dfa838f40361e0c0cdb0b4480230d19fd09a51fa7f28af4bc2602586088264d4807abf27a23a0e06c0aa7a2e4ce1ca061367c5be58e8ebd0 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.6.20.crate 163617 BLAKE2B b47ba6cd94ec80a72b51ad09c5cb9de350d2243295d3997732d5d3d9f8d08bd83e3129150fb24992243949120da1bd6091d580db5ff10258fd745afaa944c791 SHA512 3347fdfb5b15ec73a40614ecd0cce60f41d3f2d083f49aaafceeaf5db52d5c677dc3eb39fcc2595999fc9f864d1fde81e180e09dc86a6f6124878e16e86e8bc8 +DIST winnow-0.7.9.crate 174763 BLAKE2B 1514a9f8bb07351dbbc642b6cdc2b1f2ab2eda022f2aacd8f4cf859944e87dcc972f79a4b37de91cfce3abcbb209993283e44e0fdc136906281e69e9ab47ccb2 SHA512 b8d6acb8032841723db0ea86161a84d0c770c3babc76041089026e7fe9487301b45ea0c3f74c8f8d15019031a20a02b49a6cbbc98584b66c9f43fac18d1a3018 +DIST winreg-0.50.0.crate 29703 BLAKE2B db9a968ef96cc07bc1088831affc4627e09c7ab8170a54fdf70a599c2d6180a8a9ac46b6304b61fdd2fac96e01bb004ebd8051940300c7b52c5b7b7975732d11 SHA512 2f52a9e3ab794665263499c88dfdf06009c6477d180a90ebbe86e786ae7f5003c9dc8b3c26224024e79450f3b94688000458f2ea8b1ae1c3691453c3d4df4787 +DIST winreg-0.52.0.crate 30148 BLAKE2B 7b458d356ed1385b23ace88d8a7e2a4e2e3211ba4bd22e6488b60fe508ab2b5f6d93c7547e45e0564f512391a8fbc2af1bbd3e3e3a773865d87adff67b5b2fb5 SHA512 50659afe4fa9671696bb5c6a50d62e493ef5359a324a71f7877e2ff0b522560ad65196ac6d2f7f4117edb2e47e84adce7d1de5ed2ce273f132cb2d5006472e25 +DIST wintun-bindings-0.7.20.crate 793222 BLAKE2B 2eb8eab34e9620e3c9fa788f04422a9bfbb9c5caae30c3cbb01f5a85fd546fe43f8f60e8f1c5bcdfe74ed1c676b991816a4dfd8791661f3d8f86b71e1b902d9e SHA512 2bc97f605b842939128ecec7d4e21d886c8cad4d9d8d5b634b5495e284ca505ed5ce9b1754bb1d977e95694b01ae37dbf71c9f2972b10da2d6b056b840e3cbb4 +DIST wintun-bindings-0.7.31.crate 794078 BLAKE2B d02fa6b067dd856df58fedfc85ce98b29f200dd96d421c92fb7e87476961df37b312c26f4334d29018cc3d1177c7c97619926418ee46d1d71d33cd29618d5b18 SHA512 9701a7fc2d1593a2b93757df0a704b1b0c1c92db14f42726c6a90bfe53db006f81dd1a69c80b37362e039d564e7e09786f0258ecf1612ac84fb37ca3fa1afb3b +DIST wit-bindgen-rt-0.39.0.crate 12241 BLAKE2B c8cda3c7a513dca58e2ad52b03692714750870801af37a235bfe1f217afe880f36df56d8e54b52ee1cb9f4e30f5580b8a28519b44084d2191146977f237e406f SHA512 24b559688991083057b7fc0b6fa9f84445ae11cf53fca20887f55da93c24d97c9a3ed6488b3a845fe88243530b46442d3c2de70da4dc1c64f3ac632a440ea2c7 +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 +DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 +DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef +DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-0.8.25.crate 252714 BLAKE2B 161dc6e80765faa6b52a84e3a08d4958ee1446b1bbd63609c111c55c06a3fed409aaa7cfe0e7bd0815c8e35a3dfc896c0e5eabab72acb11ff717d81fa36bc040 SHA512 cb496ecf8a52ffebfe80059381c1d79e5e42abedcc112d0d5b9284b33e53549c1d5ee13e293a77a67a1082381d7600890a42adc27f2b118d6260252f99344fe2 +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zerocopy-derive-0.8.25.crate 87671 BLAKE2B 147f8e7de236cf260c089bd14ca44eeaf9f94d233fcedcd72a220abc0731f373d78d03c7f035babf00ee98e59ffb17ae0eff2b695bcf82fdbdb7bc1d07aa477e SHA512 c4e1086155e2b6e53ad6af11e8f1d66f09a6496476bca069b39bf5f6f51cccf83485c1043dd652e9cf63c72fc0da55b80871f725b34878ca534d1ee22c24cbb9 +DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544 +DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298 +DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985 +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 diff --git a/net-analyzer/trippy/metadata.xml b/net-analyzer/trippy/metadata.xml new file mode 100644 index 000000000000..5a54444ca974 --- /dev/null +++ b/net-analyzer/trippy/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Florian Schmaus</name> + <email>flow@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/trippy/trippy-0.12.2.ebuild b/net-analyzer/trippy/trippy-0.12.2.ebuild new file mode 100644 index 000000000000..3ce3ed552737 --- /dev/null +++ b/net-analyzer/trippy/trippy-0.12.2.ebuild @@ -0,0 +1,330 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aho-corasick@1.1.3 + allocator-api2@0.2.21 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.18 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.6 + anstyle@1.0.10 + anyhow@1.0.94 + arrayvec@0.7.6 + async-channel@2.3.1 + async-task@4.7.1 + async-trait@0.1.83 + atomic-waker@1.1.2 + autocfg@1.4.0 + backtrace@0.3.74 + bitflags@2.6.0 + blocking@1.6.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.9.0 + c2rust-bitfields-derive@0.19.0 + c2rust-bitfields@0.19.0 + caps@0.5.5 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.2.3 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.39 + clap@4.5.23 + clap_builder@4.5.23 + clap_complete@4.5.38 + clap_derive@4.5.18 + clap_lex@0.7.4 + clap_mangen@0.2.24 + colorchoice@1.0.3 + comfy-table@7.1.3 + compact_str@0.8.0 + concurrent-queue@2.5.0 + console@0.15.8 + core-foundation-sys@0.8.7 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + csv-core@0.1.11 + csv@1.3.1 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + data-encoding@2.6.0 + derive_more-impl@1.0.0 + derive_more@1.0.0 + diff@0.1.13 + displaydoc@0.2.5 + dns-lookup@2.0.4 + downcast@0.11.0 + either@1.13.0 + encode_unicode@0.3.6 + encoding_rs@0.8.35 + encoding_rs_io@0.1.7 + enum-as-inner@0.6.1 + equivalent@1.0.1 + errno@0.3.10 + etcetera@0.8.0 + event-listener-strategy@0.5.3 + event-listener@5.3.1 + fastrand@2.3.0 + fixedbitset@0.4.2 + fnv@1.0.7 + foldhash@0.1.3 + form_urlencoded@1.2.1 + fragile@2.0.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-lite@2.5.0 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-util@0.3.31 + futures@0.3.31 + getrandom@0.2.15 + gimli@0.31.1 + hashbrown@0.15.2 + heck@0.5.0 + hex-literal@0.4.1 + hickory-proto@0.24.2 + hickory-resolver@0.24.2 + home@0.5.9 + hostname@0.3.1 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + ident_case@1.0.1 + idna@1.0.3 + idna_adapter@1.2.0 + indexmap@2.7.0 + indoc@2.0.5 + insta@1.41.1 + instability@0.3.3 + ipconfig@0.3.2 + ipnet@2.10.1 + ipnetwork@0.20.0 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itoa@1.0.14 + js-sys@0.3.76 + lazy_static@1.5.0 + libc@0.2.168 + libloading@0.8.6 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.22 + lru-cache@0.1.2 + lru@0.12.5 + match_cfg@0.1.0 + matchers@0.1.0 + maxminddb@0.24.0 + memchr@2.7.4 + memoffset@0.9.1 + miniz_oxide@0.8.0 + mio@1.0.3 + mockall@0.13.1 + mockall_derive@0.13.1 + nix@0.29.0 + nu-ansi-term@0.46.0 + num-traits@0.2.19 + object@0.36.5 + once_cell@1.20.2 + overload@0.1.1 + parking@2.2.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-lite@0.2.15 + pin-utils@0.1.0 + piper@0.2.4 + ppv-lite86@0.2.20 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + pretty_assertions@1.4.1 + proc-macro2@1.0.92 + quick-error@1.2.3 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + ratatui@0.29.0 + redox_syscall@0.5.7 + regex-automata@0.1.10 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + resolv-conf@0.7.0 + roff@0.2.2 + rustc-demangle@0.1.24 + rustix@0.38.42 + rustversion@1.0.18 + ryu@1.0.18 + scopeguard@1.2.0 + serde@1.0.216 + serde_derive@1.0.216 + serde_json@1.0.133 + serde_spanned@0.6.8 + serde_with@3.12.0 + serde_with_macros@3.12.0 + sharded-slab@0.1.7 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + similar@2.6.0 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.8 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@1.0.109 + syn@2.0.90 + synstructure@0.13.1 + sys-locale@0.3.2 + terminal_size@0.4.1 + termtree@0.4.1 + test-case-core@3.3.1 + test-case-macros@3.3.1 + test-case@3.3.1 + thiserror-impl@1.0.69 + thiserror-impl@2.0.6 + thiserror@1.0.69 + thiserror@2.0.6 + thread_local@1.1.8 + tinystr@0.7.6 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-util@0.7.13 + tokio@1.42.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tracing-attributes@0.1.28 + tracing-chrome@0.7.2 + tracing-core@0.1.33 + tracing-log@0.2.0 + tracing-serde@0.2.0 + tracing-subscriber@0.3.19 + tracing@0.1.41 + tun2@4.0.0 + unicode-ident@1.0.14 + unicode-segmentation@1.12.0 + unicode-truncate@1.1.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + url@2.5.4 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + utf8parse@0.2.2 + valuable@0.1.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.99 + wasm-bindgen-macro-support@0.2.99 + wasm-bindgen-macro@0.2.99 + wasm-bindgen-shared@0.2.99 + wasm-bindgen@0.2.99 + widestring@1.1.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 + winreg@0.50.0 + winreg@0.52.0 + wintun-bindings@0.7.20 + write16@1.0.0 + writeable@0.5.5 + yansi@1.0.1 + yoke-derive@0.7.5 + yoke@0.7.5 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zerofrom-derive@0.1.5 + zerofrom@0.1.5 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo fcaps + +DESCRIPTION="A network diagnostic tool" +HOMEPAGE="https://trippy.cli.rs/ https://github.com/fujiapple852/trippy" +SRC_URI=" + https://github.com/fujiapple852/trippy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-3.0 WTFPL-2 ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="suid" + +FILECAPS=( cap_net_raw+p usr/bin/trip ) + +QA_FLAGS_IGNORED="usr/bin/trip" + +src_install() { + cargo_src_install --path crates/trippy + + dodoc README.md CHANGELOG.md + + if use suid; then + fperms u+s usr/bin/trip + fi +} diff --git a/net-analyzer/trippy/trippy-0.13.0.ebuild b/net-analyzer/trippy/trippy-0.13.0.ebuild new file mode 100644 index 000000000000..414d1041deec --- /dev/null +++ b/net-analyzer/trippy/trippy-0.13.0.ebuild @@ -0,0 +1,352 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aho-corasick@1.1.3 + allocator-api2@0.2.21 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.18 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.7 + anstyle@1.0.10 + anyhow@1.0.98 + arrayvec@0.7.6 + async-channel@2.3.1 + async-task@4.7.1 + async-trait@0.1.88 + atomic-waker@1.1.2 + autocfg@1.4.0 + backtrace@0.3.74 + bitflags@2.9.0 + blocking@1.6.1 + bumpalo@3.17.0 + bytes@1.10.1 + c2rust-bitfields-derive@0.19.0 + c2rust-bitfields@0.19.0 + caps@0.5.5 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.2.21 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono-tz-build@0.4.1 + chrono-tz@0.10.3 + chrono@0.4.41 + clap@4.5.37 + clap_builder@4.5.37 + clap_complete@4.5.48 + clap_derive@4.5.32 + clap_lex@0.7.4 + clap_mangen@0.2.26 + colorchoice@1.0.3 + comfy-table@7.1.4 + compact_str@0.8.1 + concurrent-queue@2.5.0 + console@0.15.11 + core-foundation-sys@0.8.7 + crossbeam-channel@0.5.15 + crossbeam-deque@0.8.6 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.12 + crossbeam-utils@0.8.21 + crossbeam@0.8.4 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + csv-core@0.1.12 + csv@1.3.1 + darling@0.20.11 + darling_core@0.20.11 + darling_macro@0.20.11 + data-encoding@2.9.0 + derive_more-impl@2.0.1 + derive_more@2.0.1 + diff@0.1.13 + displaydoc@0.2.5 + dns-lookup@2.0.4 + downcast@0.11.0 + either@1.15.0 + encode_unicode@1.0.0 + encoding_rs@0.8.35 + encoding_rs_io@0.1.7 + enum-as-inner@0.6.1 + equivalent@1.0.2 + errno@0.3.11 + etcetera@0.8.0 + event-listener-strategy@0.5.4 + event-listener@5.4.0 + fastrand@2.3.0 + fixedbitset@0.5.7 + fnv@1.0.7 + foldhash@0.1.5 + form_urlencoded@1.2.1 + fragile@2.0.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-lite@2.6.0 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-util@0.3.31 + futures@0.3.31 + getrandom@0.2.16 + getrandom@0.3.2 + gimli@0.31.1 + hashbrown@0.15.3 + heck@0.5.0 + hex-literal@0.4.1 + hickory-proto@0.24.4 + hickory-resolver@0.24.4 + home@0.5.9 + humantime@2.2.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.63 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.1 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.1 + icu_properties@1.5.1 + icu_properties_data@1.5.1 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + ident_case@1.0.1 + idna@1.0.3 + idna_adapter@1.2.0 + indexmap@2.9.0 + indoc@2.0.6 + insta@1.43.1 + instability@0.3.7 + ipconfig@0.3.2 + ipnet@2.11.0 + ipnetwork@0.21.1 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itertools@0.14.0 + itoa@1.0.15 + js-sys@0.3.77 + lazy_static@1.5.0 + libc@0.2.172 + libloading@0.8.6 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.15 + linux-raw-sys@0.9.4 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.27 + lru-cache@0.1.2 + lru@0.12.5 + matchers@0.1.0 + maxminddb@0.25.0 + memchr@2.7.4 + memoffset@0.9.1 + miniz_oxide@0.8.8 + mio@1.0.3 + mockall@0.13.1 + mockall_derive@0.13.1 + nix@0.29.0 + nu-ansi-term@0.46.0 + num-traits@0.2.19 + object@0.36.7 + once_cell@1.21.3 + overload@0.1.1 + parking@2.2.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse-zoneinfo@0.3.1 + paste@1.0.15 + percent-encoding@2.3.1 + petgraph@0.7.1 + phf@0.11.3 + phf_codegen@0.11.3 + phf_generator@0.11.3 + phf_shared@0.11.3 + pin-project-lite@0.2.16 + pin-utils@0.1.0 + piper@0.2.4 + ppv-lite86@0.2.21 + predicates-core@1.0.9 + predicates-tree@1.0.12 + predicates@3.1.3 + pretty_assertions@1.4.1 + proc-macro2@1.0.95 + quote@1.0.40 + r-efi@5.2.0 + rand@0.8.5 + rand@0.9.1 + rand_chacha@0.3.1 + rand_chacha@0.9.0 + rand_core@0.6.4 + rand_core@0.9.3 + ratatui@0.29.0 + redox_syscall@0.5.12 + regex-automata@0.1.10 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + resolv-conf@0.7.3 + roff@0.2.2 + rustc-demangle@0.1.24 + rustix@0.38.44 + rustix@1.0.7 + rustversion@1.0.20 + ryu@1.0.20 + scopeguard@1.2.0 + serde@1.0.219 + serde_derive@1.0.219 + serde_json@1.0.140 + serde_spanned@0.6.8 + serde_with@3.12.0 + serde_with_macros@3.12.0 + sharded-slab@0.1.7 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.5 + signal-hook@0.3.17 + similar@2.7.0 + siphasher@1.0.1 + slab@0.4.9 + smallvec@1.15.0 + socket2@0.5.9 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum@0.27.1 + strum_macros@0.26.4 + strum_macros@0.27.1 + syn@1.0.109 + syn@2.0.101 + synstructure@0.13.2 + sys-locale@0.3.2 + terminal_size@0.4.2 + termtree@0.5.1 + test-case-core@3.3.1 + test-case-macros@3.3.1 + test-case@3.3.1 + thiserror-impl@1.0.69 + thiserror-impl@2.0.12 + thiserror@1.0.69 + thiserror@2.0.12 + thread_local@1.1.8 + tinystr@0.7.6 + tinyvec@1.9.0 + tinyvec_macros@0.1.1 + tokio-macros@2.5.0 + tokio-util@0.7.15 + tokio@1.44.2 + toml@0.8.22 + toml_datetime@0.6.9 + toml_edit@0.22.26 + tracing-attributes@0.1.28 + tracing-chrome@0.7.2 + tracing-core@0.1.33 + tracing-log@0.2.0 + tracing-serde@0.2.0 + tracing-subscriber@0.3.19 + tracing@0.1.41 + tun2@4.0.0 + unicode-ident@1.0.18 + unicode-segmentation@1.12.0 + unicode-truncate@1.1.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + url@2.5.4 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + utf8parse@0.2.2 + valuable@0.1.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasi@0.14.2+wasi-0.2.4 + wasm-bindgen-backend@0.2.100 + wasm-bindgen-macro-support@0.2.100 + wasm-bindgen-macro@0.2.100 + wasm-bindgen-shared@0.2.100 + wasm-bindgen@0.2.100 + widestring@1.2.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.61.0 + windows-implement@0.60.0 + windows-interface@0.59.1 + windows-link@0.1.1 + windows-result@0.3.2 + windows-strings@0.4.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.7.9 + winreg@0.50.0 + wintun-bindings@0.7.31 + wit-bindgen-rt@0.39.0 + write16@1.0.0 + writeable@0.5.5 + yansi@1.0.1 + yoke-derive@0.7.5 + yoke@0.7.5 + zerocopy-derive@0.8.25 + zerocopy@0.8.25 + zerofrom-derive@0.1.6 + zerofrom@0.1.5 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +RUST_MIN_VER="1.78" + +inherit cargo fcaps + +DESCRIPTION="A network diagnostic tool" +HOMEPAGE="https://trippy.cli.rs/ https://github.com/fujiapple852/trippy" +SRC_URI=" + https://github.com/fujiapple852/trippy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-3.0 WTFPL-2 ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="suid" + +FILECAPS=( cap_net_raw+p usr/bin/trip ) + +QA_FLAGS_IGNORED="usr/bin/trip" + +src_install() { + cargo_src_install --path crates/trippy + + dodoc README.md CHANGELOG.md + + if use suid; then + fperms u+s usr/bin/trip + fi +} diff --git a/net-analyzer/tsung/Manifest b/net-analyzer/tsung/Manifest new file mode 100644 index 000000000000..7b130044521f --- /dev/null +++ b/net-analyzer/tsung/Manifest @@ -0,0 +1 @@ +DIST tsung-1.8.0.tar.gz 1662056 BLAKE2B 7d61fbba7981214b91c16d07cdf69e54e6bf5d39f7c4856b58ff87fc9ee4e5e850d8e075aa6cd0c2d725d92c42eb3ea619139c1754abd20b446f0bdb05d8cb39 SHA512 e025b59674c05eee8069982888eddd1cdb92f3984e1b0694aa06b22041f8072b2e8cf5358154cd9b80a83412d0e767f7ae9c47e09ba43db15b319537553e9ded diff --git a/net-analyzer/tsung/metadata.xml b/net-analyzer/tsung/metadata.xml new file mode 100644 index 000000000000..6295db35d2b3 --- /dev/null +++ b/net-analyzer/tsung/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/tsung/tsung-1.8.0.ebuild b/net-analyzer/tsung/tsung-1.8.0.ebuild new file mode 100644 index 000000000000..fbee6e966333 --- /dev/null +++ b/net-analyzer/tsung/tsung-1.8.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Seems to be misconfigured +RESTRICT="test" + +DESCRIPTION="Erlang's multi-protocol distributed load testing tool" +HOMEPAGE="http://tsung.erlang-projects.org/" +SRC_URI="http://tsung.erlang-projects.org/dist/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gnuplot" + +DEPEND="dev-lang/erlang" +RDEPEND=" + gnuplot? ( + sci-visualization/gnuplot + dev-perl/Template-Toolkit + ) + ${DEPEND} +" +src_configure() { + ./configure --prefix="/usr" || die "econf failed" +} + +src_compile() { + emake +} + +src_install() { + emake -j1 DESTDIR="${D}" install +} diff --git a/net-analyzer/ttcp/Manifest b/net-analyzer/ttcp/Manifest new file mode 100644 index 000000000000..58725aa7cb8a --- /dev/null +++ b/net-analyzer/ttcp/Manifest @@ -0,0 +1,2 @@ +DIST ttcp-1.12.c 23690 BLAKE2B 972869da1e2e945702e6852648166eefae224b39715ef8495526ec7cd33cdb1e69fa10bb356a96e701f8b597c547b3090956320f947a02f1fad0b12d027b7e32 SHA512 8fc800b05fcf3590d15a87983ac7abc3646c6d4a89f7cc6b91e495066a90a6ce21f7bd7b6ab21e09f07bfa20c39bdc7bcec479449d7cd2b88639dc6cca4a432e +DIST ttcp-1.12.tar.bz2 8086 BLAKE2B 42ec3d82d56ef28527c096be7b6ea568997f0028ebf51811974fec8c444a39785996b0a51eedff6cec6c53f215e4300a3dee91e45f54dbe979d1d1c42e792ab1 SHA512 2218f801a04964dcc684bac2957f892569e4458eb7770e26d4ac5a9a5beebb16b9191cacd8e60cceee306b8fe53000248b52457cb679a3d12ad4308bb0066dbb diff --git a/net-analyzer/ttcp/files/ttcp-1.12-c23.patch b/net-analyzer/ttcp/files/ttcp-1.12-c23.patch new file mode 100644 index 000000000000..a5c458b9765e --- /dev/null +++ b/net-analyzer/ttcp/files/ttcp-1.12-c23.patch @@ -0,0 +1,77 @@ +Fix GCC 15.x issues. + +--- a/ttcp.c ++++ b/ttcp.c +@@ -157,16 +157,16 @@ + unsigned long numCalls; /* # of I/O system calls */ + double cput, realt; /* user, real time (seconds) */ + +-void err(); +-void mes(); +-void pattern(); ++void err(const char *); ++void mes(const char *); ++void pattern(register char *, register int); + void prep_timer(); +-double read_timer(); +-int Nread(); +-int Nwrite(); +-void delay(); +-int mread(); +-char *outfmt(); ++double read_timer(char *, int); ++int Nread(int, void *, int); ++int Nwrite(int, void *, int); ++void delay(int); ++int mread(int, register char *, unsigned int); ++char *outfmt(const double); + + int + main(int argc, char **argv) +@@ -560,7 +560,7 @@ + } + + void +-err(char *s) ++err(const char *s) + { + fprintf(stderr, "ttcp%s: ", trans ? "-t" : "-r"); + perror(s); +@@ -569,7 +569,7 @@ + } + + void +-mes(char *s) ++mes(const char *s) + { + fprintf(stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); + } +@@ -586,7 +586,7 @@ + } + + char * +-outfmt(double b) ++outfmt(const double b) + { + static char obuf[50]; + switch (fmt) { +@@ -616,10 +616,15 @@ + static struct timeval time0; /* Time at which timing started */ + static struct rusage ru0; /* Resource utilization at the start */ + +-static void prusage(); +-static void tvadd(); +-static void tvsub(); +-static void psecs(); ++static void prusage( ++ register struct rusage *, ++ register struct rusage *, ++ struct timeval *, ++ struct timeval *, ++ char *); ++static void tvadd(struct timeval *, struct timeval *, struct timeval *); ++static void tvsub(struct timeval *, struct timeval *, struct timeval *); ++static void psecs(long, register char *); + + /* + * P R E P _ T I M E R diff --git a/net-analyzer/ttcp/metadata.xml b/net-analyzer/ttcp/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/ttcp/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ttcp/ttcp-1.12-r3.ebuild b/net-analyzer/ttcp/ttcp-1.12-r3.ebuild new file mode 100644 index 000000000000..1f7b7059b640 --- /dev/null +++ b/net-analyzer/ttcp/ttcp-1.12-r3.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Tool to test TCP and UDP throughput" +HOMEPAGE=" + http://ftp.arl.mil/~mike/ttcp.html + http://www.netcore.fi/pekkas/linux/ipv6/" +SRC_URI=" + mirror://gentoo/${P}.tar.bz2 + https://dev.gentoo.org/~jsmolic/distfiles/${P}.c" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~mips ~ppc ~sparc ~x86" + +PATCHES=( "${FILESDIR}"/${P}-c23.patch ) + +src_prepare() { + cp "${DISTDIR}"/${P}.c ${PN}.c || die + default +} + +src_configure() { + tc-export CC +} + +src_compile() { + emake ttcp +} + +src_install() { + dobin ttcp + newman sgi-ttcp.1 ttcp.1 +} diff --git a/net-analyzer/ttl/Manifest b/net-analyzer/ttl/Manifest new file mode 100644 index 000000000000..a73163c19a16 --- /dev/null +++ b/net-analyzer/ttl/Manifest @@ -0,0 +1,12 @@ +DIST ttl-0.13.3-crates.tar.xz 31881568 BLAKE2B ddf4a963ed741ec957440a4605537550f0d6abffc0a28ac1c16c88c23049a1676a0619e98e24ee2d5b8c02a2ed023e8af007edcf6fd18335e257dbc73bce4130 SHA512 74a998e7d7588c7273a06e1c5809d3724d62980e93b35bd5f78422283551a1e46aef85bece137a56bf82bc55f2ca8a09e42b05c2c491c54aa3aea67e98ae787f +DIST ttl-0.13.3.tar.gz 826986 BLAKE2B d418e652d2a1b7f88067285d95e05e18cf8fa0221d05f484cfa176f1d03d1ad03126773fd0b05da8aba9750089c8837d0c1bd1ecd730b034963f7df46cb78ab4 SHA512 a46bcfd2609f33772136fabec883aee86ccdbf70f18491d91e9ff6a1cd654ffacc5fdf7780bf97a6278beb5744734f6f1c88f350244e6e80b32a0d78ea0bac6e +DIST ttl-0.15.3-crates.tar.xz 32921928 BLAKE2B 25eaea5add2ae9eff0fb929b429cb95f6c7a77f0bd1ca3112268e7fd86d585faa4043c35dc7020175fcd97cac562aff5c497e7932b1561a926f7945a3d7efb05 SHA512 5aaa09fb81367e191ad5b6fca097a9b6bcae369c1f3c4ea0f324986b07cf1d411c9e3ad1deacd841c13de72a03a9d8f5bb2412ec52a3f316e4a2323f470c2abd +DIST ttl-0.15.3.tar.gz 837543 BLAKE2B 3e737e359591262f6994e310e28affc455f406f3a204202ee906ad2c33cf6760302375c77165a541b7fa41fe1f9a3cfbc9b1cd400d4dfd3ab6ea0974b764caae SHA512 19a00bc1f12cf17515208d5e08875001c3812fdb8d887418ba526c23b03bcc98e09ea6609039b73b15ae55e70edb20d369eab48ac1d469063035341dca7a522c +DIST ttl-0.16.1-crates.tar.xz 32934648 BLAKE2B 30b1581331bebfe85c27157b26e35b2f01b5125dd5462e5208c21f0dffaf13a17cb66dec3dbec5ad432aa697ae34fe83974036fa2b47ad7c1c7ea67e0aad13d1 SHA512 b3a0a8080e04d42d6968512fe2b671fd68d30463e9ff25480ed5cd9f12f5984f4ea9c071be485eaf9cc02ace027cf140c51008ac9664afb2f1bedf9b67ebfd11 +DIST ttl-0.16.1.tar.gz 842564 BLAKE2B 07ea447b98677cc32efb7c7db2e412cbea8d4a6ae04d5a076938370bd3605270396224b72bd2f1473c87b2c7d37e0af6d398a7eafeb4d82fc4b8f3eb577ecf3d SHA512 d60d23f70cbd3d39ef4875c74518486cc0d3aea8297dd579730f0741b27fee9ad536b568d1ca7cba35b242a792ccbb74c28c954408f06ba6d0c278782e9b6922 +DIST ttl-0.17.0-crates.tar.xz 33647596 BLAKE2B 3118a60213d9f2bcfc48528b52682c48d8219e806f845eb49b10ce4555ff1a142a1cfef96ccf5d82070bcd8ff78cb96ac755686da2ccd18fa97baee56b91722e SHA512 20ac577adba6ad9f50ac5da717cf9fe61cd0eb609ade35bd8cbd4413545cb5a298129ecf4a1857f8f8d88e9c04ffae4860d952cb5c6ef32a95e3c552136ad508 +DIST ttl-0.17.0.tar.gz 846187 BLAKE2B 70d0b1ace94e3711f2eb80f40b6f546884e9ea0ac620189b182b2e2b53d63e3c9387a847a0e91c369525331aa44ad6ecc7a3f3a33a029331f57f1ddc91701f9f SHA512 5a41f98bea4083d33c7f2ac62b9c5a24fcc7af292aa2def95b1529ea9c4c8fbc88ee9a672027629c9a4ff0725ed7ad4b0c3895f2ee16d3c433e5771235a3fbf7 +DIST ttl-0.18.0-crates.tar.xz 33647596 BLAKE2B 3118a60213d9f2bcfc48528b52682c48d8219e806f845eb49b10ce4555ff1a142a1cfef96ccf5d82070bcd8ff78cb96ac755686da2ccd18fa97baee56b91722e SHA512 20ac577adba6ad9f50ac5da717cf9fe61cd0eb609ade35bd8cbd4413545cb5a298129ecf4a1857f8f8d88e9c04ffae4860d952cb5c6ef32a95e3c552136ad508 +DIST ttl-0.18.0.tar.gz 853402 BLAKE2B 93376516116c21bcdbb5aa8b840ec34b5bb3c3aeff5460636d90d5eb517a74f0a532e48474d11e9bb46ea3957714f88afc3d3a3589a5d420c694f351bc14455a SHA512 cc94ded3f8fcf3342d47db60bbb8c2a48a45cffb20117c3322d39845c4d9510e09a2bf9d7512f93fda75dd4193d21c6451650812adeded60afda239b070882ed +DIST ttl-0.19.0-crates.tar.xz 33730860 BLAKE2B 39904a1a8177e52a2ed3829cc504ccb18edccfe6cc024fd22ab12ebae29079feb8ad7b9b0ff6583e0c78475ed923789b854e610b0dbb3dc0c07b57d3089e16a9 SHA512 6987744c7415fc0cb26440d61649cde437655297ae0b7134daaf1ee60383a4d0ed2adf41ba82ec6dd6137b55c07ac65c18d90de9b379bcad36fc29da5f37f1b2 +DIST ttl-0.19.0.tar.gz 862875 BLAKE2B ce5c24a51567e9be45c78263457957b97c0466ca07c92f0c2e4cbc0a05e1b734567e5a9ffaa237ba42cc420db8dde5ad7c93bc6dd7d3d86da0ccc878517084c7 SHA512 ae8930902db7d1076d57ef8261bb0156e1644666ddba8f07e95457144ee7c84cdc72989e2d1de01ec941bbccf0c73961e704fcafdbe53893af42f4c375bf8b31 diff --git a/net-analyzer/ttl/metadata.xml b/net-analyzer/ttl/metadata.xml new file mode 100644 index 000000000000..56e379f48d61 --- /dev/null +++ b/net-analyzer/ttl/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/ttl/ttl-0.13.3.ebuild b/net-analyzer/ttl/ttl-0.13.3.ebuild new file mode 100644 index 000000000000..f0cb95769d4e --- /dev/null +++ b/net-analyzer/ttl/ttl-0.13.3.ebuild @@ -0,0 +1,47 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/ttl/ttl-0.15.3.ebuild b/net-analyzer/ttl/ttl-0.15.3.ebuild new file mode 100644 index 000000000000..f0cb95769d4e --- /dev/null +++ b/net-analyzer/ttl/ttl-0.15.3.ebuild @@ -0,0 +1,47 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/ttl/ttl-0.16.1.ebuild b/net-analyzer/ttl/ttl-0.16.1.ebuild new file mode 100644 index 000000000000..f0cb95769d4e --- /dev/null +++ b/net-analyzer/ttl/ttl-0.16.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/ttl/ttl-0.17.0.ebuild b/net-analyzer/ttl/ttl-0.17.0.ebuild new file mode 100644 index 000000000000..0202c8a4eb20 --- /dev/null +++ b/net-analyzer/ttl/ttl-0.17.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit fcaps desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +FILECAPS=( + cap_net_raw usr/bin/ttl +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/ttl/ttl-0.18.0.ebuild b/net-analyzer/ttl/ttl-0.18.0.ebuild new file mode 100644 index 000000000000..0202c8a4eb20 --- /dev/null +++ b/net-analyzer/ttl/ttl-0.18.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit fcaps desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +FILECAPS=( + cap_net_raw usr/bin/ttl +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/ttl/ttl-0.19.0.ebuild b/net-analyzer/ttl/ttl-0.19.0.ebuild new file mode 100644 index 000000000000..0202c8a4eb20 --- /dev/null +++ b/net-analyzer/ttl/ttl-0.19.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" + +inherit fcaps desktop cargo + +DESCRIPTION="Modern traceroute/mtr-style TUI with hop stats and optional ASN/geo enrichment" +HOMEPAGE="https://github.com/lance0/ttl" +SRC_URI=" + https://github.com/lance0/ttl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + mirror://gentoo/ttl-${PV}-crates.tar.xz + " +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl + Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +DOCS=( + CHANGELOG.md + README.md + SECURITY.md +) + +FILECAPS=( + cap_net_raw usr/bin/ttl +) + +src_install() { + cargo_src_install + + doicon ttl.png ttlss.png + make_desktop_entry /usr/bin/ttl ttl ttl Network +} diff --git a/net-analyzer/vnstat/Manifest b/net-analyzer/vnstat/Manifest new file mode 100644 index 000000000000..e56a7039f1d5 --- /dev/null +++ b/net-analyzer/vnstat/Manifest @@ -0,0 +1,2 @@ +DIST vnstat-2.13.tar.gz 336647 BLAKE2B 2eef806403bca82a9f5f45c5dad75aac7c23dc7d1c7f010a0d2b82934ffea138fb29355e6c6a0a107fb83572dfb498c1b233feb77845e96ea36a9664f9fdfc5e SHA512 9b5d7b5085ab2ae39fd6b0d59afe56eb927b6e4ca1ca30ee7710afe2a412c4a1a8d756e095e9c3c81d182e3d6bb2efcd9a2a266e0048cac249477a09c1368969 +DIST vnstat-2.13.tar.gz.asc 833 BLAKE2B 14fb3edfd0a87cb92f00ba974484409c474e17c92cc80fed1840eb58101af5b726b0f53f9c479ed780dae4d5f242e2b817a36b3a4cc49aec40b4bb9b8d73ffb5 SHA512 36503ce73f3ed57e576cc83528df9815549e39aec6790c3e566fd41c885a940cc9e64f195090ed4ed314bca0eb25d05bfc9e7451cc7a6ebc11dbe01a3051a833 diff --git a/net-analyzer/vnstat/files/vnstat-2.9-conf.patch b/net-analyzer/vnstat/files/vnstat-2.9-conf.patch new file mode 100644 index 000000000000..d2cfa3977cfb --- /dev/null +++ b/net-analyzer/vnstat/files/vnstat-2.9-conf.patch @@ -0,0 +1,39 @@ +diff --git a/cfg/vnstat.conf b/cfg/vnstat.conf +index f404de5..d2bd928 100644 +--- a/cfg/vnstat.conf ++++ b/cfg/vnstat.conf +@@ -80,10 +80,10 @@ + ## + + # switch to given user when started as root (leave empty to disable) +-;DaemonUser "" ++;DaemonUser "vnstat" + + # switch to given group when started as root (leave empty to disable) +-;DaemonGroup "" ++;DaemonGroup "vnstat" + + # try to detect interface maximum bandwidth, 0 = disable feature + # MaxBandwidth will be used as fallback value when enabled +@@ -161,7 +161,7 @@ + ;LogFile "/var/log/vnstat/vnstat.log" + + # file used as daemon pid / lock file +-;PidFile "/var/run/vnstat/vnstat.pid" ++;PidFile "/run/vnstat/vnstat.pid" + + # 1 = 64-bit, 0 = 32-bit, -1 = old style logic, -2 = automatic detection + ;64bitInterfaceCounters -2 +diff --git a/src/common.h b/src/common.h +index bb2fb56..f148004 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -241,7 +241,7 @@ and most can be changed later from the config file. + #define CREATEDIRS 1 + #define UPDATEFILEOWNER 1 + #define LOGFILE "/var/log/vnstat/vnstat.log" +-#define PIDFILE "/var/run/vnstat/vnstat.pid" ++#define PIDFILE "/run/vnstat/vnstat.pid" + #define IS64BIT -2 + #define WALDB 0 + #define WALDBCHECKPOINTINTERVALMINS 240 diff --git a/net-analyzer/vnstat/files/vnstat.cron-r1 b/net-analyzer/vnstat/files/vnstat.cron-r1 new file mode 100644 index 000000000000..178133675c6f --- /dev/null +++ b/net-analyzer/vnstat/files/vnstat.cron-r1 @@ -0,0 +1,7 @@ +#!/bin/bash + +# run vnstat if installed and at least one database exists + +if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ] ; then + exec /usr/bin/vnstat -u +fi diff --git a/net-analyzer/vnstat/files/vnstat.cron-r2 b/net-analyzer/vnstat/files/vnstat.cron-r2 new file mode 100644 index 000000000000..98ed9734fcc7 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstat.cron-r2 @@ -0,0 +1,7 @@ +#!/bin/bash + +# run vnstat if installed and at least one database exists + +if [ -x /usr/sbin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ] ; then + exec /usr/sbin/vnstat -u +fi diff --git a/net-analyzer/vnstat/files/vnstatd.confd-r1 b/net-analyzer/vnstat/files/vnstatd.confd-r1 new file mode 100644 index 000000000000..33edf3560ee8 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.confd-r1 @@ -0,0 +1,18 @@ +# /etc/conf.d/vnstatd: config file for /etc/init.d/vnstatd + +# Configuration file +VNSTATD_CONFIGFILE="/etc/vnstat.conf" + +# PID file +VNSTATD_PIDFILE="/run/vnstat/vnstatd.pid" + +# Options to vnstatd +# See vnstatd(8) for more details +# Notes: +# * Do not specify another PIDFILE but use the variable above to change the location +# * Do not specify another CONFIGFILE but use the variable above to change the location +VNSTATD_OPTS="" + +# Wait x milliseconds after starting and check that daemon is still running. +# See start-stop-daemon(8) for more details +SSD_STARTWAIT=500 diff --git a/net-analyzer/vnstat/files/vnstatd.initd-r2 b/net-analyzer/vnstat/files/vnstatd.initd-r2 new file mode 100644 index 000000000000..2b4a9336c2a5 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.initd-r2 @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +VNSTATD_CONFIGFILE=${VNSTATD_CONFIGFILE:-"/etc/vnstat.conf"} +VNSTATD_PIDFILE=${VNSTATD_PIDFILE:-"/run/vnstat/vnstatd.pid"} + +pidfile="${VNSTATD_PIDFILE}" +command="/usr/bin/vnstatd" +command_args="${VNSTATD_OPTS} --daemon --config \"${VNSTATD_CONFIGFILE}\" --pidfile \"${pidfile}\"" +start_stop_daemon_args="--wait ${SSD_STARTWAIT:-500}" +name="vnStat daemon" + +description="vnstatd updates vnStat databases." +description_reload="Reload ${name}'s configuration" + +required_files="${VNSTATD_CONFIGFILE}" + +start_pre() { + checkpath --directory --mode 0775 --owner vnstat:vnstat $(dirname "${pidfile}") +} + +reload() { + ebegin "Reloading ${name} configuration" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/net-analyzer/vnstat/files/vnstatd.initd-r3 b/net-analyzer/vnstat/files/vnstatd.initd-r3 new file mode 100644 index 000000000000..31f49d2a8af3 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.initd-r3 @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +VNSTATD_CONFIGFILE=${VNSTATD_CONFIGFILE:-"/etc/vnstat.conf"} +VNSTATD_PIDFILE=${VNSTATD_PIDFILE:-"/run/vnstat/vnstatd.pid"} + +pidfile="${VNSTATD_PIDFILE}" +command="/usr/sbin/vnstatd" +command_args="${VNSTATD_OPTS} --daemon --config \"${VNSTATD_CONFIGFILE}\" --pidfile \"${pidfile}\"" +start_stop_daemon_args="--wait ${SSD_STARTWAIT:-500}" +name="vnStat daemon" + +description="vnstatd updates vnStat databases." +description_reload="Reload ${name}'s configuration" + +required_files="${VNSTATD_CONFIGFILE}" + +start_pre() { + checkpath --directory --mode 0775 --owner vnstat:vnstat $(dirname "${pidfile}") +} + +reload() { + ebegin "Reloading ${name} configuration" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/net-analyzer/vnstat/files/vnstatd.systemd b/net-analyzer/vnstat/files/vnstatd.systemd new file mode 100644 index 000000000000..51b079c5a9fb --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.systemd @@ -0,0 +1,11 @@ +[Unit] +Description=vnStat network traffic monitor +Documentation=man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5) +After=network-online.target + +[Service] +ExecStart=/usr/bin/vnstatd --nodaemon +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/vnstat/files/vnstatd.systemd-r1 b/net-analyzer/vnstat/files/vnstatd.systemd-r1 new file mode 100644 index 000000000000..7136a0c6053c --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.systemd-r1 @@ -0,0 +1,11 @@ +[Unit] +Description=vnStat network traffic monitor +Documentation=man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5) +After=network-online.target + +[Service] +ExecStart=/usr/sbin/vnstatd --nodaemon +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/vnstat/files/vnstatd.tmpfile b/net-analyzer/vnstat/files/vnstatd.tmpfile new file mode 100644 index 000000000000..36ecf2259495 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.tmpfile @@ -0,0 +1 @@ +d /run/vnstat 0775 vnstat vnstat - diff --git a/net-analyzer/vnstat/metadata.xml b/net-analyzer/vnstat/metadata.xml new file mode 100644 index 000000000000..97e429fe6b00 --- /dev/null +++ b/net-analyzer/vnstat/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + vnStat is a network traffic monitor for Linux that keeps a log of daily + network traffic for the selected interface(s). vnStat isn't a packet sniffer. + The traffic information is analyzed from the /proc filesystem. That way vnStat + can be used even without root permissions. + </longdescription> + <upstream> + <changelog>https://humdi.net/vnstat/CHANGES</changelog> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/vnstat/vnstat-2.13-r2.ebuild b/net-analyzer/vnstat/vnstat-2.13-r2.ebuild new file mode 100644 index 000000000000..8c0f033c327b --- /dev/null +++ b/net-analyzer/vnstat/vnstat-2.13-r2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd tmpfiles + +DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" +HOMEPAGE="https://humdi.net/vnstat/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/vergoh/vnstat" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/teemutoivola.asc + inherit verify-sig + + SRC_URI=" + https://humdi.net/vnstat/${P}.tar.gz + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( + https://humdi.net/vnstat/${P}.tar.gz.asc + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz.asc + ) + " + + KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gd selinux test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/vnstat + acct-user/vnstat + dev-db/sqlite + gd? ( media-libs/gd[png] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/check ) +" +RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.9-conf.patch +) + +src_configure() { + local myeconfargs=( + $(use_enable gd image-output) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + exeinto /usr/share/${PN} + newexe "${FILESDIR}"/vnstat.cron-r2 vnstat.cron + + newconfd "${FILESDIR}"/vnstatd.confd-r1 vnstatd + newinitd "${FILESDIR}"/vnstatd.initd-r3 vnstatd + + systemd_newunit "${FILESDIR}"/vnstatd.systemd-r1 vnstatd.service + newtmpfiles "${FILESDIR}"/vnstatd.tmpfile vnstatd.conf + + newdoc INSTALL README.setup + dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi +} + +pkg_postinst() { + tmpfiles_process vnstatd.conf +} diff --git a/net-analyzer/vnstat/vnstat-2.13.ebuild b/net-analyzer/vnstat/vnstat-2.13.ebuild new file mode 100644 index 000000000000..b16076ca2552 --- /dev/null +++ b/net-analyzer/vnstat/vnstat-2.13.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd tmpfiles + +DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" +HOMEPAGE="https://humdi.net/vnstat/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/vergoh/vnstat" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/teemutoivola.asc + inherit verify-sig + + SRC_URI=" + https://humdi.net/vnstat/${P}.tar.gz + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( + https://humdi.net/vnstat/${P}.tar.gz.asc + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz.asc + ) + " + + KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gd selinux test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/vnstat + acct-user/vnstat + dev-db/sqlite + gd? ( media-libs/gd[png] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/check ) +" +RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.9-conf.patch +) + +src_compile() { + emake \ + ${PN} \ + ${PN}d \ + $(usev gd ${PN}i) +} + +src_install() { + use gd && dobin vnstati + dobin vnstat vnstatd + + exeinto /usr/share/${PN} + newexe "${FILESDIR}"/vnstat.cron-r1 vnstat.cron + + insinto /etc + doins cfg/vnstat.conf + fowners root:vnstat /etc/vnstat.conf + + keepdir /var/lib/vnstat + fowners vnstat:vnstat /var/lib/vnstat + + newconfd "${FILESDIR}"/vnstatd.confd-r1 vnstatd + newinitd "${FILESDIR}"/vnstatd.initd-r2 vnstatd + + systemd_newunit "${FILESDIR}"/vnstatd.systemd vnstatd.service + newtmpfiles "${FILESDIR}"/vnstatd.tmpfile vnstatd.conf + + use gd && doman man/vnstati.1 + + doman man/vnstat.1 man/vnstatd.8 + + newdoc INSTALL README.setup + dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi +} + +pkg_postinst() { + tmpfiles_process vnstatd.conf +} diff --git a/net-analyzer/vnstat/vnstat-9999.ebuild b/net-analyzer/vnstat/vnstat-9999.ebuild new file mode 100644 index 000000000000..cbd84ff3a5d6 --- /dev/null +++ b/net-analyzer/vnstat/vnstat-9999.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd tmpfiles + +DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" +HOMEPAGE="https://humdi.net/vnstat/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/vergoh/vnstat" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/teemutoivola.asc + inherit verify-sig + + SRC_URI=" + https://humdi.net/vnstat/${P}.tar.gz + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( + https://humdi.net/vnstat/${P}.tar.gz.asc + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz.asc + ) + " + + KEYWORDS="~amd64 arm arm64 ~hppa ~mips ppc ~ppc64 ~riscv ~sparc ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gd selinux test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/vnstat + acct-user/vnstat + dev-db/sqlite + gd? ( media-libs/gd[png] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/check ) +" +RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.9-conf.patch +) + +src_configure() { + local myeconfargs=( + $(use_enable gd image-output) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + exeinto /usr/share/${PN} + newexe "${FILESDIR}"/vnstat.cron-r2 vnstat.cron + + newconfd "${FILESDIR}"/vnstatd.confd-r1 vnstatd + newinitd "${FILESDIR}"/vnstatd.initd-r3 vnstatd + + systemd_newunit "${FILESDIR}"/vnstatd.systemd-r1 vnstatd.service + newtmpfiles "${FILESDIR}"/vnstatd.tmpfile vnstatd.conf + + newdoc INSTALL README.setup + dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi +} + +pkg_postinst() { + tmpfiles_process vnstatd.conf +} diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest new file mode 100644 index 000000000000..7b666e31a133 --- /dev/null +++ b/net-analyzer/wireshark/Manifest @@ -0,0 +1,4 @@ +DIST wireshark-4.6.5-signatures.txt 2508 BLAKE2B 00b48881a84e2cca8edebbc1e69333fbbf2eeaea7f331bbd57902f6685ce2de192e6cdc54c7d0275170995aa4594cee31ae9d76427b8c3aaac7318f1ccdae167 SHA512 b94c4cba6c181aeb0badffaa4490110c1173851cd89364edb856c4d01a7d37af8737f411320915ffc9c8c6087dd044c881d798a977d8ebc46ef1c933e336c9ec +DIST wireshark-4.6.5.tar.xz 58257076 BLAKE2B bcb40a93ad72b775b703c9fbab0d33a5ec94372625380c54b4247de3ceb9a807ffdca0fbb4035366cd1a557dd5ddc8a775ab1ab1038467814eaa62efdf448865 SHA512 f5f52eed915184a553b32c559bdb9b5478e33a877768265b8b40b711cb44ffcd98b3a6e8a469f65b870df16ac7f9f7d391727156d11e669e5ab4bcd52bab8981 +DIST wireshark-4.6.6-signatures.txt 2508 BLAKE2B e7cb3cc6c3f49b2c2c83d7c0ba063c40e2d6b9693c09a792c64b1ec01d2f14d64a67c00976cc7b94f2884ade1c8e0fca797012f0bd845ff110a4b0955c9e2fc7 SHA512 51cfa6344f78ff485ab4613ba25d81363b456117bf5b7328e9c43ae868368e223cf2f10835b4774c255938e4d9edb293bcf210206decd8e87a8377fd51f49d87 +DIST wireshark-4.6.6.tar.xz 56334204 BLAKE2B 3ba090394930adbd8649df0b93b65ad68f58964fe2a5b8632450f3f3b7d2f26bbc20f95a825d08082b1c2d25ebb420500b3b58b8cb1f6b88b8326c093f56c83f SHA512 fdeca4647ed3bb7dca5a2f5f747afaa877220ec1153c1d0c5f2688d164fa2feb4d2f45175061415fe6602d3328bf8ec028a4ade73eca6ebd8f6b67d2fcb54d5a diff --git a/net-analyzer/wireshark/files/4.4.6-lto.patch b/net-analyzer/wireshark/files/4.4.6-lto.patch new file mode 100644 index 000000000000..f1b0581d7546 --- /dev/null +++ b/net-analyzer/wireshark/files/4.4.6-lto.patch @@ -0,0 +1,164 @@ +From d674e9a17f215d8c0fb3ae9e8c44e9a77952c3d1 Mon Sep 17 00:00:00 2001 +Message-ID: <d674e9a17f215d8c0fb3ae9e8c44e9a77952c3d1.1744950020.git.sam@gentoo.org> +From: Sam James <sam@gentoo.org> +Date: Thu, 17 Apr 2025 19:57:46 +0100 +Subject: [PATCH] CMake: don't build with -fPIE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Qt's qcompilerdetection.h currently checks for whether -fPIE is being used +along with QT_USE_PROTECTED_VISIBILITY ("reduce relocations", which Qt +automatically uses if supported). It bails out if -fPIE is used, as -fPIC +is required instead. + +If LTO is used, when one does something like: +(1) g++ -c -flto -fPIC qtlto.cc +(2) g++ -pie -fPIE qtlto.o -o qtlto + +At point (1), the Qt check in the headers fires, and everything is fine, +because we're indeed using -fPIC, and GCC doesn't automatically add -fPIE +when built with --enable-default-pie if -fPIC is present on the command line. + +GCC may apply optimisations at this point given Qt is using -mno-direct-extern-access +and it was built with -fPIC not -fPIE. + +Later, at point (2), -fPIE is passed. This happens in Wireshark because +`CMAKE_POSITION_INDEPENDENT_CODE` gets set in CMakeLists.txt. With LTO, +there's no opportunity for the Qt sanity check in headers to fire again, +as everything is already long-preprocessed and GCC will have applied some +optimisations already assuming the -fPIC code model in (1). But as slyfox +says at https://bugs.gentoo.org/754021#c12, GCC merges -fPIC -fPIE to -fPIE +at LTO-time (-fPIC coming from the earlier LTO object in (1), and -fPIE +was just-passed on the command line). + +qtlto (or Wireshark) then crashes. For Wireshark, this looks like: +``` + #0 0x00007ff40e529cf0 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=<optimized out>) + at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/tools/qscopedpointer.h:112 + #1 qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=<optimized out>) + at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/global/qtclasshelpermacros.h:128 + #2 QObject::d_func (this=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject.h:108 + #3 QObjectPrivate::get (o=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject_p.h:150 + #4 doActivate<false> (sender=0x0, signal_index=9, argv=argv@entry=0x7ffe59a73c30) at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject.cpp:4003 + #5 0x00007ff40e4d2809 in QMetaObject::activate + (sender=<optimized out>, m=m@entry=0x7ff40f44f6c0 <QGuiApplication::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe59a73c30) + at /usr/src/debug/dev-qt/qtbase-6.8.3/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject.cpp:4183 + #6 0x00007ff40ead5676 in QGuiApplication::screenAdded (this=<optimized out>, _t1=<optimized out>) +[...] +``` + +We need to drop -fPIE somehow at link-time accordingly. There's a few +ways of doing this but I've gone for not calling `check_pie_supported()` +(see (7) below). + +(Analysis on fixing this in other packages may depend on whether any static +libraries *installed* by CMake where -fPIC was no longer passed for those, +we would have a problem. I'd tried to use POSITION_INDEPENDENT_CODE at first +but then -fPIC gets dropped as well everywhere, and setting the target +property to false for just the Wireshark executable also doesn't work +because it'll pass -no-pie which isn't what we want.) + +There are some questions: +(3) Why doesn't this happen with Clang, given that Clang has -fno-direct-access-external-data + (equivalent to GCC's -mno-direct-extern-access), even when Qt is built + with bfd (not lld)? + + The answer seems to be that Clang doesn't implement the optimisation + yet to avoid copy-relocations where possible. GCC implemented that in + 5.x in r5-5573-g77ad54d911dd7c. + +(4) Why doesn't this (seem to) happen in other distributions? + + nextcloud-client suffers from the same issue analysed here, see + https://bugs.gentoo.org/933110. The upstream bug at https://github.com/nextcloud/desktop/issues/2790 + was reported by a Debian developer (cgzones), so it's a reasonable assumption + that it can happen on Debian. + + Debian is one of few distributions (we're another) to use --enable-default-pie + in GCC rather than just passing it to all package builds in the package manager: + it's possible that some distros are just disabling -fPIE or adding a workaround + like we did for https://bugs.gentoo.org/552440. Not many distros build + with LTO either. + + Debian also stopped building Wireshark with LTO because of a bug in Wireshark + itself (https://bugs.gentoo.org/941890), so I guess they disabled LTO + and didn't notice this crash. + + (This is enough for me to be more confident in my analysis, anyway.) + +(5) Could Qt communicate this somehow automatically? + + I think it might be able to if statically linking Qt and Qt was built + with LTO. + + Otherwise, I think the only option would be an ELF .note. pkg-config + could maybe work but you can't assume all Qt consumers use that... + + See the discussion around <https://bugreports.qt.io/browse/QTBUG-45755?focusedId=282483&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-282483>: + > Thiago Macieira added a comment - 22 May '15 17:11 + > There aren't that many autoconf-based Qt5 builds and we've never exported the flag anyway. + + (It might be worth bringing this .note idea up to Thiago and/or H.J. but + I'm not sure yet if it'll work.) + + On the Qt side, -fPIC gets passed in to various places before because + Qt's CMake config files have INTERFACE_COMPILE_OPTIONS w/ -fPIC. Maybe + the answer is for Qt packages to never use CMAKE_POSITION_INDEPENDENT_CODE + instead. This came up in https://gitlab.kitware.com/cmake/cmake/-/issues/15570. + +(6) Could we just disable "reduce relocations" in Qt itself, given that + the workaround here will need to be applied in various Qt consumers? + + This would significantly impact startup times of applications using Qt + and there don't seem to be too many applications doing this (only 2 + known so far in Gentoo: Wireshark and nextcloud-client). + +(7) Is the mechanism used to fix this brittle? + + Yes, we're relying on a CMake bug/feature for now at https://gitlab.kitware.com/cmake/cmake/-/issues/25588 + so it doesn't try to enable *or* disable PIE at link-time and we can + just rely on our toolchain defaults. + +Thanks to Arusekk for producing a minimal example and reporting it upstream +to Wireshark, thanks to slyfox for analysing the interaction with LTO, thanks +to Holger and Eli for the discussion around it, reviewing the commit message, +and generally talking it all through and giving ideas. + +Bug: https://bugs.gentoo.org/552440 +Bug: https://bugs.gentoo.org/754021 +Bug: https://bugs.gentoo.org/933110 +Bug: https://bugs.gentoo.org/941890 +Bug: https://gitlab.kitware.com/cmake/cmake/-/issues/15570 +Bug: https://gitlab.kitware.com/cmake/cmake/-/issues/25588 +Bug: https://gitlab.kitware.com/cmake/cmake/-/issues/23980 +Bug: https://gitlab.com/wireshark/wireshark/-/issues/17040 +Bug: https://bugreports.qt.io/browse/QTBUG-45755 +Bug: https://bugreports.qt.io/browse/QTBUG-47942 +Bug: https://gcc.gnu.org/PR65248 +Bug: https://gcc.gnu.org/PR65886 +Thanks-to: Arusekk <arek_koz@o2.pl> +Thanks-to: Sergei Trofimovich <slyfox@gentoo.org> +Thanks-to: Holger Hoffstätte <holger@applied-asynchrony.com> +Thanks-to: Eli Schwartz <eschwartz@gentoo.org> +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d82a718bf6..c177e46571 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1254,7 +1254,6 @@ if(NOT CMAKE_C_COMPILER_ID MATCHES "MSVC" AND NOT OSS_FUZZ) + endif() + else() + include(CheckPIESupported) +- check_pie_supported() + endif() + endif() + + +base-commit: 85ff46c76b2a6a4b94094e4f20dfa66b43086182 +-- +2.49.0 + diff --git a/net-analyzer/wireshark/files/4.6.2-gnutls-pkcs11.patch b/net-analyzer/wireshark/files/4.6.2-gnutls-pkcs11.patch new file mode 100644 index 000000000000..262907e42e48 --- /dev/null +++ b/net-analyzer/wireshark/files/4.6.2-gnutls-pkcs11.patch @@ -0,0 +1,45 @@ +Bug: https://bugs.gentoo.org/967060 + +diff -rup wireshark-4.6.2/CMakeLists.txt wireshark-4.6.2-pkcs11/CMakeLists.txt +--- wireshark-4.6.2/CMakeLists.txt 2025-12-04 13:48:57.732168127 +0100 ++++ wireshark-4.6.2-pkcs11/CMakeLists.txt 2025-12-04 13:48:29.067453231 +0100 +@@ -1587,16 +1587,18 @@ if(GNUTLS_FOUND) + # Calculating public keys from PKCS #11 private keys requires GnuTLS + # 3.4.0 or greater. + # +- # Check that the support is present in case GnuTLS was compiled +- # --without-p11-kit as macos-setup.sh did until December 2020. +- cmake_push_check_state() +- if(WIN32 AND NOT MINGW) +- set(CMAKE_REQUIRED_DEFINITIONS -Dssize_t=int) +- endif() +- set(CMAKE_REQUIRED_INCLUDES ${GNUTLS_INCLUDE_DIRS}) +- set(CMAKE_REQUIRED_LIBRARIES ${GNUTLS_LIBRARIES}) +- check_symbol_exists(gnutls_pkcs11_obj_list_import_url4 gnutls/pkcs11.h HAVE_GNUTLS_PKCS11) +- cmake_pop_check_state() ++ if (ENABLE_PKCS11) ++ # Check that the support is present in case GnuTLS was compiled ++ # --without-p11-kit as macos-setup.sh did until December 2020. ++ cmake_push_check_state() ++ if(WIN32 AND NOT MINGW) ++ set(CMAKE_REQUIRED_DEFINITIONS -Dssize_t=int) ++ endif() ++ set(CMAKE_REQUIRED_INCLUDES ${GNUTLS_INCLUDE_DIRS}) ++ set(CMAKE_REQUIRED_LIBRARIES ${GNUTLS_LIBRARIES}) ++ check_symbol_exists(gnutls_pkcs11_obj_list_import_url4 gnutls/pkcs11.h HAVE_GNUTLS_PKCS11) ++ cmake_pop_check_state() ++ endif (ENABLE_PKCS11) + endif() + + if (QT_FOUND) +diff -rup wireshark-4.6.2/CMakeOptions.txt wireshark-4.6.2-pkcs11/CMakeOptions.txt +--- wireshark-4.6.2/CMakeOptions.txt 2025-12-03 18:45:32.000000000 +0100 ++++ wireshark-4.6.2-pkcs11/CMakeOptions.txt 2025-12-04 13:44:49.553654179 +0100 +@@ -106,6 +106,7 @@ option(ENABLE_NGHTTP3 "Build with HTT + option(ENABLE_LUA "Build with Lua dissector support" ON) + option(ENABLE_SMI "Build with libsmi snmp support" ON) + option(ENABLE_GNUTLS "Build with RSA decryption support" ON) ++option(ENABLE_PKCS11 "Build with PKCS11 support" ON) + if(WIN32 AND USE_REPOSITORY) + option(ENABLE_WINSPARKLE "Enable automatic updates using WinSparkle" ON) + endif() diff --git a/net-analyzer/wireshark/files/4.6.5-disable-sidebar.patch b/net-analyzer/wireshark/files/4.6.5-disable-sidebar.patch new file mode 100644 index 000000000000..f06ed1067263 --- /dev/null +++ b/net-analyzer/wireshark/files/4.6.5-disable-sidebar.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/973610 + +--- wireshark-4.6.5/ui/recent.c ++++ wireshark-4.6.5/ui/recent.c +@@ -1974,11 +1974,11 @@ recent_init(void) + { + memset(&recent, 0, sizeof(recent_settings_t)); + +- recent.gui_welcome_page_sidebar_learn_visible = true; +- recent.gui_welcome_page_sidebar_tips_visible = true; +- recent.gui_welcome_page_sidebar_tips_events = true; +- recent.gui_welcome_page_sidebar_tips_sponsorship = true; +- recent.gui_welcome_page_sidebar_tips_tips = true; ++ recent.gui_welcome_page_sidebar_learn_visible = false; ++ recent.gui_welcome_page_sidebar_tips_visible = false; ++ recent.gui_welcome_page_sidebar_tips_events = false; ++ recent.gui_welcome_page_sidebar_tips_sponsorship = false; ++ recent.gui_welcome_page_sidebar_tips_tips = false; + recent.gui_welcome_page_sidebar_tips_interval = 8; + } + diff --git a/net-analyzer/wireshark/files/4.6.5-remove-unused-variable.patch b/net-analyzer/wireshark/files/4.6.5-remove-unused-variable.patch new file mode 100644 index 000000000000..c433017f58e9 --- /dev/null +++ b/net-analyzer/wireshark/files/4.6.5-remove-unused-variable.patch @@ -0,0 +1,36 @@ +https://gitlab.com/wireshark/wireshark/-/work_items/20727 + +From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com> +Date: Tue, 30 Sep 2025 14:12:11 +0200 +Subject: [PATCH] Remove unused variable 'newly_displayed_packets' + +Its use was removed in f210edea but the variable itself was never removed. + +Ping #20727 +--- + file.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/file.c b/file.c +index 854b894cb88..b287e424ced 100644 +--- a/file.c ++++ b/file.c +@@ -798,7 +798,6 @@ cf_continue_tail(capture_file *cf, volatile int to_read, wtap_rec *rec, + int *err, fifo_string_cache_t *frame_dup_cache, GChecksum *frame_cksum) + { + char *err_info; +- volatile int newly_displayed_packets = 0; + epan_dissect_t edt; + bool create_proto_tree; + unsigned tap_flags; +@@ -878,9 +877,7 @@ cf_continue_tail(capture_file *cf, volatile int to_read, wtap_rec *rec, + aren't any packets left to read) exit. */ + break; + } +- if (read_record(cf, rec, cf->dfcode, &edt, cinfo, data_offset, frame_dup_cache, frame_cksum)) { +- newly_displayed_packets++; +- } ++ read_record(cf, rec, cf->dfcode, &edt, cinfo, data_offset, frame_dup_cache, frame_cksum); + to_read--; + } + wtap_rec_reset(rec); diff --git a/net-analyzer/wireshark/files/release-notes.html b/net-analyzer/wireshark/files/release-notes.html new file mode 100644 index 000000000000..fae4810cc97c --- /dev/null +++ b/net-analyzer/wireshark/files/release-notes.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="refresh" content="0; url='https://www.wireshark.org/docs/relnotes/#VERSION#'" /> + </head> +</html> diff --git a/net-analyzer/wireshark/metadata.xml b/net-analyzer/wireshark/metadata.xml new file mode 100644 index 000000000000..959e3ba85dae --- /dev/null +++ b/net-analyzer/wireshark/metadata.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>holger@applied-asynchrony.com</email> + <name>Holger Hoffstätte</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <longdescription> + Wireshark is the world's foremost network protocol analyzer, and is the de + facto (and often de jure) standard across many industries and educational + institutions. Wireshark has a rich feature set which includes 1) deep + inspection of hundreds of protocols, with more being added all the time, 2) + live capture and offline analysis, 3) standard three-pane packet browser, 4) + captured network data can be browsed via a GUI, or via the TTY-mode TShark + utility, 5) the most powerful display filters in the industry, 6) rich VoIP + analysis, 7) read/write many different capture file formats: tcpdump (libpcap), + Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network + General Sniffer® (compressed and uncompressed), Sniffer® Pro, and NetXray®, + Network Instruments Observer, Novell LANalyzer, RADCOM WAN/LAN Analyzer, + Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, + WildPackets EtherPeek/TokenPeek/AiroPeek, and many others, 8) capture files + compressed with gzip can be decompressed on the fly, 9) live data can be read + from Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame + Relay, FDDI, and others, 10) decryption support for many protocols, including + IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and WPA/WPA2, 11) coloring rules + can be applied to the packet list for quick, intuitive analysis, 12) output can + be exported to XML, PostScript®, CSV, or plain text. + </longdescription> + <use> + <flag name="androiddump">Install androiddump, an extcap interface to capture from Android devices</flag> + <flag name="bcg729">Use <pkg>media-libs/bcg729</pkg> for G.729 codec support in RTP Player</flag> + <flag name="capinfos">Install capinfos, to print information about capture files</flag> + <flag name="captype">Install captype, to print the file types of capture files</flag> + <flag name="ciscodump">Install ciscodump, extcap interface to capture from a remote Cisco router</flag> + <flag name="dftest">Install dftest, to display filter byte-code, for debugging dfilter routines</flag> + <flag name="dpauxmon">Install dpauxmon, an external capture interface (extcap) that captures DisplayPort AUX channel data from linux kernel drivers</flag> + <flag name="dumpcap">Install dumpcap, to dump network traffic from inside wireshark</flag> + <flag name="editcap">Install editcap, to edit and/or translate the format of capture files</flag> + <flag name="http3">Install <pkg>net-libs/nghttp3</pkg> for enhanced HTTP3 analysis</flag> + <flag name="ilbc">Build with iLBC support in RTP Player using <pkg>media-libs/libilbc</pkg> + </flag> + <flag name="maxminddb">Use <pkg>dev-libs/libmaxminddb</pkg> for IP address geolocation</flag> + <flag name="mergecap">Install mergecap, to merge two or more capture files into one</flag> + <flag name="minizip">Build with zip file compression support</flag> + <flag name="netlink">Use <pkg>dev-libs/libnl</pkg> + </flag> + <flag name="pcap">Use <pkg>net-libs/libpcap</pkg> for network packet capturing (build dumpcap, rawshark)</flag> + <flag name="pkcs11">Add support for PKCS in <pkg>net-libs/gnutls</pkg> + </flag> + <flag name="plugins">Install plugins</flag> + <flag name="randpkt">Install randpkt, a utility for creating pcap trace files full of random packets</flag> + <flag name="randpktdump">Install randpktdump, an extcap interface to provide access to the random packet generator (randpkt)</flag> + <flag name="reordercap">Install reordercap, to reorder input file by timestamp into output file</flag> + <flag name="sbc">Use <pkg>media-libs/sbc</pkg> for playing back SBC encoded packets</flag> + <flag name="sdjournal">Install sdjournal, an extcap that captures systemd journal entries</flag> + <flag name="sharkd">Install sharkd, the daemon variant of wireshark</flag> + <flag name="smi">Use <pkg>net-libs/libsmi</pkg> to resolve numeric OIDs into human readable format</flag> + <flag name="spandsp">Use <pkg>media-libs/spandsp</pkg> for for G.722 and G.726 codec support in the RTP Player</flag> + <flag name="sshdump">Install sshdump, an extcap interface to capture from a remote host through SSH</flag> + <flag name="text2pcap">Install text2pcap, to generate a capture file from an ASCII hexdump of packets</flag> + <flag name="tshark">Install tshark, to dump and analyzer network traffic from the command line</flag> + <flag name="udpdump">Install udpdump, to get packets exported from a source (like a network device or a GSMTAP producer) that are dumped to a pcap file</flag> + <flag name="wifi">Install wifidump, to dump and analyse 802.11 traffic</flag> + <flag name="xxhash">Enable <pkg>dev-libs/xxhash</pkg> support for hashing</flag> + </use> + <upstream> + <changelog>https://www.wireshark.org/news/</changelog> + <remote-id type="cpe">cpe:/a:wireshark:wireshark</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/wireshark/wireshark-4.6.5-r1.ebuild b/net-analyzer/wireshark/wireshark-4.6.5-r1.ebuild new file mode 100644 index 000000000000..88b82ad5764b --- /dev/null +++ b/net-analyzer/wireshark/wireshark-4.6.5-r1.ebuild @@ -0,0 +1,352 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit fcaps lua-single python-any-r1 qmake-utils toolchain-funcs xdg cmake + +DESCRIPTION="Network protocol analyzer (sniffer)" +HOMEPAGE="https://www.wireshark.org/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc + inherit verify-sig + + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV/_/}.txt -> ${P}-signatures.txt )" + S="${WORKDIR}/${P/_/}" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86" + fi +fi + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon" +IUSE+=" +dumpcap +editcap +gui http2 http3 ilbc kerberos lua lz4 maxminddb" +IUSE+=" +mergecap +minizip +netlink opus pkcs11 +plugins +pcap +randpkt" +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl" +IUSE+=" sdjournal test +text2pcap +tshark +udpdump wifi xxhash zlib +zstd" + +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +# bug #753062 for speexdsp +RDEPEND=" + acct-group/pcap + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2:= + dev-libs/libxml2:= + >=net-dns/c-ares-1.13.0:= + >=dev-libs/libgcrypt-1.8.0:= + media-libs/speexdsp + bcg729? ( media-libs/bcg729 ) + brotli? ( app-arch/brotli:= ) + ciscodump? ( >=net-libs/libssh-0.6:= ) + filecaps? ( sys-libs/libcap ) + http2? ( >=net-libs/nghttp2-1.11.0:= ) + http3? ( net-libs/nghttp3 ) + ilbc? ( media-libs/libilbc:= ) + kerberos? ( virtual/krb5 ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4:= ) + maxminddb? ( dev-libs/libmaxminddb:= ) + minizip? ( virtual/minizip:= ) + netlink? ( dev-libs/libnl:3 ) + opus? ( media-libs/opus ) + pcap? ( net-libs/libpcap ) + gui? ( + dev-qt/qtbase:6[concurrent,gui,widgets] + dev-qt/qt5compat:6 + dev-qt/qtmultimedia:6 + x11-misc/xdg-utils + ) + sbc? ( media-libs/sbc ) + sdjournal? ( sys-apps/systemd:= ) + smi? ( net-libs/libsmi ) + snappy? ( app-arch/snappy:= ) + spandsp? ( media-libs/spandsp:= ) + sshdump? ( >=net-libs/libssh-0.6:= ) + ssl? ( >=net-libs/gnutls-3.5.8:=[pkcs11?] ) + wifi? ( >=net-libs/libssh-0.6:= ) + xxhash? ( dev-libs/xxhash ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + app-alternatives/lex + sys-devel/gettext + virtual/pkgconfig + doc? ( + app-text/doxygen + dev-ruby/asciidoctor + dev-libs/libxslt + ) + gui? ( + dev-qt/qttools:6[linguist] + ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + ) +" +RDEPEND=" + ${RDEPEND} + gui? ( virtual/freedesktop-icon-theme ) + selinux? ( sec-policy/selinux-wireshark ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )" +fi + +PATCHES=( + "${FILESDIR}/4.4.6-lto.patch" + "${FILESDIR}/4.6.2-gnutls-pkcs11.patch" + "${FILESDIR}/4.6.5-disable-sidebar.patch" + "${FILESDIR}/4.6.5-remove-unused-variable.patch" +) + +python_check_deps() { + use test || return 0 + + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + git-r3_src_unpack + else + if use verify-sig ; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}-signatures.txt \ + openssl-dgst \ + ${P}.tar.xz + cd "${WORKDIR}" || die + fi + + default + fi +} + +src_prepare() { + # since 4.6.5 the Lua version is found "automatically" and can no longer + # be passed in via LUA_FIND_VERSIONS, so we override the search list. + if use lua; then + sed -i "s/set(LUA_VERSIONS5 5.5 5.4 5.3 5.2 5.1 5.0)/set(LUA_VERSIONS5 ${ELUA#lua})/g" \ + cmake/modules/FindLua.cmake || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs + + python_setup + + mycmakeargs+=( + -DPython3_EXECUTABLE="${PYTHON}" + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc) + + # Force bundled lemon (bug 933119) + -DLEMON_EXECUTABLE= + + -DRPMBUILD_EXECUTABLE= + -DGIT_EXECUTABLE= + -DENABLE_CCACHE=OFF + + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes) + $(usex gui LRELEASE=$(qt6_get_bindir)/lrelease '') + $(usex gui MOC=$(qt6_get_bindir)/moc '') + $(usex gui RCC=$(qt6_get_bindir)/rcc '') + $(usex gui UIC=$(qt6_get_bindir)/uic '') + + -DBUILD_androiddump=$(usex androiddump) + -DBUILD_capinfos=$(usex capinfos) + -DBUILD_captype=$(usex captype) + -DBUILD_ciscodump=$(usex ciscodump) + -DBUILD_dftest=$(usex dftest) + -DBUILD_dpauxmon=$(usex dpauxmon) + -DBUILD_dumpcap=$(usex dumpcap) + -DBUILD_editcap=$(usex editcap) + -DBUILD_mergecap=$(usex mergecap) + -DBUILD_mmdbresolve=$(usex maxminddb) + -DBUILD_randpkt=$(usex randpkt) + -DBUILD_randpktdump=$(usex randpktdump) + -DBUILD_reordercap=$(usex reordercap) + -DBUILD_sdjournal=$(usex sdjournal) + -DBUILD_sharkd=$(usex sharkd) + -DBUILD_sshdump=$(usex sshdump) + -DBUILD_text2pcap=$(usex text2pcap) + -DBUILD_tfshark=OFF + -DBUILD_tshark=$(usex tshark) + -DBUILD_udpdump=$(usex udpdump) + + -DBUILD_wireshark=$(usex gui) + -DUSE_qt6=$(usex gui) + + -DENABLE_WERROR=OFF + -DENABLE_BCG729=$(usex bcg729) + -DENABLE_BROTLI=$(usex brotli) + -DENABLE_CAP=$(usex filecaps caps) + -DENABLE_GNUTLS=$(usex ssl) + -DENABLE_PKCS11=$(usex pkcs11) + -DENABLE_ILBC=$(usex ilbc) + -DENABLE_KERBEROS=$(usex kerberos) + -DENABLE_LUA=$(usex lua) + -DENABLE_LZ4=$(usex lz4) + -DENABLE_MINIZIP=$(usex minizip) + -DENABLE_MINIZIPNG=OFF + -DENABLE_NETLINK=$(usex netlink) + -DENABLE_NGHTTP2=$(usex http2) + -DENABLE_NGHTTP3=$(usex http3) + -DENABLE_OPUS=$(usex opus) + -DENABLE_PCAP=$(usex pcap) + -DENABLE_PLUGINS=$(usex plugins) + -DENABLE_PLUGIN_IFDEMO=OFF + -DENABLE_SBC=$(usex sbc) + -DENABLE_SMI=$(usex smi) + -DENABLE_SNAPPY=$(usex snappy) + -DENABLE_SPANDSP=$(usex spandsp) + -DBUILD_wifidump=$(usex wifi) + -DENABLE_XXHASH=$(usex xxhash) + -DENABLE_ZLIB=$(usex zlib) + -DENABLE_ZLIBNG=OFF + -DENABLE_ZSTD=$(usex zstd) + ) + + tc-is-lto && mycmakeargs+=( -DENABLE_LTO=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build test-programs + + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html + epytest \ + --disable-capture \ + --skip-missing-programs=all \ + --program-path "${BUILD_DIR}"/run +} + +src_install() { + # bug #928577 + # https://gitlab.com/wireshark/wireshark/-/commit/fe7bfdf6caac9204ab5f34eeba7b0f4a0314d3cd + cmake_src_install install-headers + + if ! use doc; then + # prepare Relase Notes redirector (bug #939195) + local relnotes="doc/Wireshark Release Notes.html" + + # by default create a link for our specific version + local relversion="wireshark-${PV}.html" + + # for 9999 we link to the release notes index page + if [[ ${PV} == *_rc* ]] || [[ ${PV} == *9999* ]] ; then + relversion="" + fi + + # patch version into redirector & install it + sed -e "s/#VERSION#/${relversion}/g" < "${FILESDIR}/release-notes.html" > "${relnotes}" || die + dodoc "${relnotes}" + fi + + # FAQ is not required as is installed from help/faq.txt + dodoc AUTHORS ChangeLog README* doc/randpkt.txt doc/README* + + # install headers + insinto /usr/include/wireshark + doins "${BUILD_DIR}"/config.h + + # If trying to remove this, try build e.g. libvirt first! + # At last check, Fedora is still doing this too. + local dir dirs=( + epan + epan/crypt + epan/dfilter + epan/dissectors + epan/ftypes + wiretap + wsutil + wsutil/wmem + ) + + for dir in "${dirs[@]}" ; do + insinto /usr/include/wireshark/${dir} + doins ${dir}/*.h + done + + if use gui ; then + local s + + for s in 16 32 48 64 128 256 512 1024 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/apps + newins resources/icons/wsicon${s}.png wireshark.png + done + + for s in 16 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes + newins resources/icons//WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png + done + fi + + if [[ -d "${ED}"/usr/share/appdata ]] ; then + rm -r "${ED}"/usr/share/appdata || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # Add group for users allowed to sniff. + chgrp pcap "${EROOT}"/usr/bin/dumpcap + + if use dumpcap && use pcap ; then + fcaps -o 0 -g pcap -m 4710 -M 0710 \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/dumpcap + fi + + ewarn "NOTE: To capture traffic with wireshark as normal user you have to" + ewarn "add yourself to the pcap group. This security measure ensures" + ewarn "that only trusted users are allowed to sniff your traffic." + + if use gui; then + einfo "Since version 4.6.5 Wireshark's Welcome page shows a sidebar" + einfo "with links to documentation, ads, sponsors and various other" + einfo "community resources. This feature was merged prematurely and" + einfo "cannot (yet) be disabled in Preferences, so we decided to disable" + einfo "it by default. If you already started 4.6.5 and see the sidebar," + einfo "you can edit the gui.welcome_page.sidebar.* keys in the" + einfo "recent_common file located in ~/.wireshark (old location)" + einfo "or ~/.config/wireshark (new location)." + einfo "Make sure that Wireshark is not running when editing the file." + fi +} diff --git a/net-analyzer/wireshark/wireshark-4.6.6.ebuild b/net-analyzer/wireshark/wireshark-4.6.6.ebuild new file mode 100644 index 000000000000..eeff9cbfa0d4 --- /dev/null +++ b/net-analyzer/wireshark/wireshark-4.6.6.ebuild @@ -0,0 +1,338 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit fcaps lua-single python-any-r1 qmake-utils toolchain-funcs xdg cmake + +DESCRIPTION="Network protocol analyzer (sniffer)" +HOMEPAGE="https://www.wireshark.org/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc + inherit verify-sig + + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV/_/}.txt -> ${P}-signatures.txt )" + S="${WORKDIR}/${P/_/}" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" + fi +fi + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon" +IUSE+=" +dumpcap +editcap +gui http2 http3 ilbc kerberos lua lz4 maxminddb" +IUSE+=" +mergecap +minizip +netlink opus pkcs11 +plugins +pcap +randpkt" +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl" +IUSE+=" sdjournal test +text2pcap +tshark +udpdump wifi xxhash zlib +zstd" + +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +# bug #753062 for speexdsp +RDEPEND=" + acct-group/pcap + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2:= + dev-libs/libxml2:= + >=net-dns/c-ares-1.13.0:= + >=dev-libs/libgcrypt-1.8.0:= + media-libs/speexdsp + bcg729? ( media-libs/bcg729 ) + brotli? ( app-arch/brotli:= ) + ciscodump? ( >=net-libs/libssh-0.6:= ) + filecaps? ( sys-libs/libcap ) + http2? ( >=net-libs/nghttp2-1.11.0:= ) + http3? ( net-libs/nghttp3 ) + ilbc? ( media-libs/libilbc:= ) + kerberos? ( virtual/krb5 ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4:= ) + maxminddb? ( dev-libs/libmaxminddb:= ) + minizip? ( virtual/minizip:= ) + netlink? ( dev-libs/libnl:3 ) + opus? ( media-libs/opus ) + pcap? ( net-libs/libpcap ) + gui? ( + dev-qt/qtbase:6[concurrent,gui,widgets] + dev-qt/qt5compat:6 + dev-qt/qtmultimedia:6 + x11-misc/xdg-utils + ) + sbc? ( media-libs/sbc ) + sdjournal? ( sys-apps/systemd:= ) + smi? ( net-libs/libsmi ) + snappy? ( app-arch/snappy:= ) + spandsp? ( media-libs/spandsp:= ) + sshdump? ( >=net-libs/libssh-0.6:= ) + ssl? ( >=net-libs/gnutls-3.5.8:=[pkcs11?] ) + wifi? ( >=net-libs/libssh-0.6:= ) + xxhash? ( dev-libs/xxhash ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + app-alternatives/lex + sys-devel/gettext + virtual/pkgconfig + doc? ( + app-text/doxygen + dev-ruby/asciidoctor + dev-libs/libxslt + ) + gui? ( + dev-qt/qttools:6[linguist] + ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + ) +" +RDEPEND=" + ${RDEPEND} + gui? ( virtual/freedesktop-icon-theme ) + selinux? ( sec-policy/selinux-wireshark ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )" +fi + +PATCHES=( + "${FILESDIR}/4.4.6-lto.patch" + "${FILESDIR}/4.6.2-gnutls-pkcs11.patch" +) + +python_check_deps() { + use test || return 0 + + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + git-r3_src_unpack + else + if use verify-sig ; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}-signatures.txt \ + openssl-dgst \ + ${P}.tar.xz + cd "${WORKDIR}" || die + fi + + default + fi +} + +src_prepare() { + # since 4.6.5 the Lua version is found "automatically" and can no longer + # be passed in via LUA_FIND_VERSIONS, so we override the search list. + if use lua; then + sed -i "s/set(LUA_VERSIONS5 5.5 5.4 5.3 5.2 5.1 5.0)/set(LUA_VERSIONS5 ${ELUA#lua})/g" \ + cmake/modules/FindLua.cmake || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs + + python_setup + + mycmakeargs+=( + -DPython3_EXECUTABLE="${PYTHON}" + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc) + + # Force bundled lemon (bug 933119) + -DLEMON_EXECUTABLE= + + -DRPMBUILD_EXECUTABLE= + -DGIT_EXECUTABLE= + -DENABLE_CCACHE=OFF + + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes) + $(usex gui LRELEASE=$(qt6_get_bindir)/lrelease '') + $(usex gui MOC=$(qt6_get_bindir)/moc '') + $(usex gui RCC=$(qt6_get_bindir)/rcc '') + $(usex gui UIC=$(qt6_get_bindir)/uic '') + + -DBUILD_androiddump=$(usex androiddump) + -DBUILD_capinfos=$(usex capinfos) + -DBUILD_captype=$(usex captype) + -DBUILD_ciscodump=$(usex ciscodump) + -DBUILD_dftest=$(usex dftest) + -DBUILD_dpauxmon=$(usex dpauxmon) + -DBUILD_dumpcap=$(usex dumpcap) + -DBUILD_editcap=$(usex editcap) + -DBUILD_mergecap=$(usex mergecap) + -DBUILD_mmdbresolve=$(usex maxminddb) + -DBUILD_randpkt=$(usex randpkt) + -DBUILD_randpktdump=$(usex randpktdump) + -DBUILD_reordercap=$(usex reordercap) + -DBUILD_sdjournal=$(usex sdjournal) + -DBUILD_sharkd=$(usex sharkd) + -DBUILD_sshdump=$(usex sshdump) + -DBUILD_text2pcap=$(usex text2pcap) + -DBUILD_tfshark=OFF + -DBUILD_tshark=$(usex tshark) + -DBUILD_udpdump=$(usex udpdump) + + -DBUILD_wireshark=$(usex gui) + -DUSE_qt6=$(usex gui) + + -DENABLE_WERROR=OFF + -DENABLE_BCG729=$(usex bcg729) + -DENABLE_BROTLI=$(usex brotli) + -DENABLE_CAP=$(usex filecaps caps) + -DENABLE_GNUTLS=$(usex ssl) + -DENABLE_PKCS11=$(usex pkcs11) + -DENABLE_ILBC=$(usex ilbc) + -DENABLE_KERBEROS=$(usex kerberos) + -DENABLE_LUA=$(usex lua) + -DENABLE_LZ4=$(usex lz4) + -DENABLE_MINIZIP=$(usex minizip) + -DENABLE_MINIZIPNG=OFF + -DENABLE_NETLINK=$(usex netlink) + -DENABLE_NGHTTP2=$(usex http2) + -DENABLE_NGHTTP3=$(usex http3) + -DENABLE_OPUS=$(usex opus) + -DENABLE_PCAP=$(usex pcap) + -DENABLE_PLUGINS=$(usex plugins) + -DENABLE_PLUGIN_IFDEMO=OFF + -DENABLE_SBC=$(usex sbc) + -DENABLE_SMI=$(usex smi) + -DENABLE_SNAPPY=$(usex snappy) + -DENABLE_SPANDSP=$(usex spandsp) + -DBUILD_wifidump=$(usex wifi) + -DENABLE_XXHASH=$(usex xxhash) + -DENABLE_ZLIB=$(usex zlib) + -DENABLE_ZLIBNG=OFF + -DENABLE_ZSTD=$(usex zstd) + ) + + tc-is-lto && mycmakeargs+=( -DENABLE_LTO=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build test-programs + + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html + epytest \ + --disable-capture \ + --skip-missing-programs=all \ + --program-path "${BUILD_DIR}"/run +} + +src_install() { + # bug #928577 + # https://gitlab.com/wireshark/wireshark/-/commit/fe7bfdf6caac9204ab5f34eeba7b0f4a0314d3cd + cmake_src_install install-headers + + if ! use doc; then + # prepare Relase Notes redirector (bug #939195) + local relnotes="doc/Wireshark Release Notes.html" + + # by default create a link for our specific version + local relversion="wireshark-${PV}.html" + + # for 9999 we link to the release notes index page + if [[ ${PV} == *_rc* ]] || [[ ${PV} == *9999* ]] ; then + relversion="" + fi + + # patch version into redirector & install it + sed -e "s/#VERSION#/${relversion}/g" < "${FILESDIR}/release-notes.html" > "${relnotes}" || die + dodoc "${relnotes}" + fi + + # FAQ is not required as is installed from help/faq.txt + dodoc AUTHORS ChangeLog README* doc/randpkt.txt doc/README* + + # install headers + insinto /usr/include/wireshark + doins "${BUILD_DIR}"/config.h + + # If trying to remove this, try build e.g. libvirt first! + # At last check, Fedora is still doing this too. + local dir dirs=( + epan + epan/crypt + epan/dfilter + epan/dissectors + epan/ftypes + wiretap + wsutil + wsutil/wmem + ) + + for dir in "${dirs[@]}" ; do + insinto /usr/include/wireshark/${dir} + doins ${dir}/*.h + done + + if use gui ; then + local s + + for s in 16 32 48 64 128 256 512 1024 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/apps + newins resources/icons/wsicon${s}.png wireshark.png + done + + for s in 16 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes + newins resources/icons/WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png + done + fi + + if [[ -d "${ED}"/usr/share/appdata ]] ; then + rm -r "${ED}"/usr/share/appdata || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # Add group for users allowed to sniff. + chgrp pcap "${EROOT}"/usr/bin/dumpcap + + if use dumpcap && use pcap ; then + fcaps -o 0 -g pcap -m 4710 -M 0710 \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/dumpcap + fi + + ewarn "NOTE: To capture traffic with wireshark as normal user you have to" + ewarn "add yourself to the pcap group. This security measure ensures" + ewarn "that only trusted users are allowed to sniff your traffic." +} diff --git a/net-analyzer/wireshark/wireshark-9999.ebuild b/net-analyzer/wireshark/wireshark-9999.ebuild new file mode 100644 index 000000000000..0ed52f98146d --- /dev/null +++ b/net-analyzer/wireshark/wireshark-9999.ebuild @@ -0,0 +1,337 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit fcaps lua-single python-any-r1 qmake-utils toolchain-funcs xdg cmake + +DESCRIPTION="Network protocol analyzer (sniffer)" +HOMEPAGE="https://www.wireshark.org/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc + inherit verify-sig + + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV/_/}.txt -> ${P}-signatures.txt )" + S="${WORKDIR}/${P/_/}" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" + fi +fi + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon" +IUSE+=" +dumpcap +editcap +gui http2 http3 ilbc kerberos lua lz4 maxminddb" +IUSE+=" +mergecap +minizip +netlink opus pkcs11 +plugins +pcap +randpkt" +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl" +IUSE+=" sdjournal test +text2pcap +tshark +udpdump wifi xxhash zlib +zstd" + +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +# bug #753062 for speexdsp +RDEPEND=" + acct-group/pcap + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2:= + dev-libs/libxml2:= + >=net-dns/c-ares-1.13.0:= + >=dev-libs/libgcrypt-1.8.0:= + media-libs/speexdsp + bcg729? ( media-libs/bcg729 ) + brotli? ( app-arch/brotli:= ) + ciscodump? ( >=net-libs/libssh-0.6:= ) + filecaps? ( sys-libs/libcap ) + http2? ( >=net-libs/nghttp2-1.11.0:= ) + http3? ( net-libs/nghttp3 ) + ilbc? ( media-libs/libilbc:= ) + kerberos? ( virtual/krb5 ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4:= ) + maxminddb? ( dev-libs/libmaxminddb:= ) + minizip? ( virtual/minizip:= ) + netlink? ( dev-libs/libnl:3 ) + opus? ( media-libs/opus ) + pcap? ( net-libs/libpcap ) + gui? ( + dev-qt/qtbase:6[concurrent,gui,widgets] + dev-qt/qt5compat:6 + dev-qt/qtmultimedia:6 + x11-misc/xdg-utils + ) + sbc? ( media-libs/sbc ) + sdjournal? ( sys-apps/systemd:= ) + smi? ( net-libs/libsmi ) + snappy? ( app-arch/snappy:= ) + spandsp? ( media-libs/spandsp:= ) + sshdump? ( >=net-libs/libssh-0.6:= ) + ssl? ( >=net-libs/gnutls-3.5.8:=[pkcs11?] ) + wifi? ( >=net-libs/libssh-0.6:= ) + xxhash? ( dev-libs/xxhash ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + app-alternatives/lex + sys-devel/gettext + virtual/pkgconfig + doc? ( + app-text/doxygen + dev-ruby/asciidoctor + dev-libs/libxslt + ) + gui? ( + dev-qt/qttools:6[linguist] + ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + ) +" +RDEPEND=" + ${RDEPEND} + gui? ( virtual/freedesktop-icon-theme ) + selinux? ( sec-policy/selinux-wireshark ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )" +fi + +PATCHES=( + "${FILESDIR}/4.4.6-lto.patch" +) + +python_check_deps() { + use test || return 0 + + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + git-r3_src_unpack + else + if use verify-sig ; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}-signatures.txt \ + openssl-dgst \ + ${P}.tar.xz + cd "${WORKDIR}" || die + fi + + default + fi +} + +src_prepare() { + # since 4.6.5 the Lua version is found "automatically" and can no longer + # be passed in via LUA_FIND_VERSIONS, so we override the search list. + if use lua; then + sed -i "s/set(LUA_VERSIONS5 5.5 5.4 5.3 5.2 5.1 5.0)/set(LUA_VERSIONS5 ${ELUA#lua})/g" \ + cmake/modules/FindLua.cmake || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs + + python_setup + + mycmakeargs+=( + -DPython3_EXECUTABLE="${PYTHON}" + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc) + + # Force bundled lemon (bug 933119) + -DLEMON_EXECUTABLE= + + -DRPMBUILD_EXECUTABLE= + -DGIT_EXECUTABLE= + -DENABLE_CCACHE=OFF + + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes) + $(usex gui LRELEASE=$(qt6_get_bindir)/lrelease '') + $(usex gui MOC=$(qt6_get_bindir)/moc '') + $(usex gui RCC=$(qt6_get_bindir)/rcc '') + $(usex gui UIC=$(qt6_get_bindir)/uic '') + + -DBUILD_androiddump=$(usex androiddump) + -DBUILD_capinfos=$(usex capinfos) + -DBUILD_captype=$(usex captype) + -DBUILD_ciscodump=$(usex ciscodump) + -DBUILD_dftest=$(usex dftest) + -DBUILD_dpauxmon=$(usex dpauxmon) + -DBUILD_dumpcap=$(usex dumpcap) + -DBUILD_editcap=$(usex editcap) + -DBUILD_mergecap=$(usex mergecap) + -DBUILD_mmdbresolve=$(usex maxminddb) + -DBUILD_randpkt=$(usex randpkt) + -DBUILD_randpktdump=$(usex randpktdump) + -DBUILD_reordercap=$(usex reordercap) + -DBUILD_sdjournal=$(usex sdjournal) + -DBUILD_sharkd=$(usex sharkd) + -DBUILD_sshdump=$(usex sshdump) + -DBUILD_text2pcap=$(usex text2pcap) + -DBUILD_tfshark=OFF + -DBUILD_tshark=$(usex tshark) + -DBUILD_udpdump=$(usex udpdump) + + -DBUILD_wireshark=$(usex gui) + -DUSE_qt6=$(usex gui) + + -DENABLE_WERROR=OFF + -DENABLE_BCG729=$(usex bcg729) + -DENABLE_BROTLI=$(usex brotli) + -DENABLE_CAP=$(usex filecaps caps) + -DENABLE_GNUTLS=$(usex ssl) + -DENABLE_PKCS11=$(usex pkcs11) + -DENABLE_ILBC=$(usex ilbc) + -DENABLE_KERBEROS=$(usex kerberos) + -DENABLE_LUA=$(usex lua) + -DENABLE_LZ4=$(usex lz4) + -DENABLE_MINIZIP=$(usex minizip) + -DENABLE_MINIZIPNG=OFF + -DENABLE_NETLINK=$(usex netlink) + -DENABLE_NGHTTP2=$(usex http2) + -DENABLE_NGHTTP3=$(usex http3) + -DENABLE_OPUS=$(usex opus) + -DENABLE_PCAP=$(usex pcap) + -DENABLE_PLUGINS=$(usex plugins) + -DENABLE_PLUGIN_IFDEMO=OFF + -DENABLE_SBC=$(usex sbc) + -DENABLE_SMI=$(usex smi) + -DENABLE_SNAPPY=$(usex snappy) + -DENABLE_SPANDSP=$(usex spandsp) + -DBUILD_wifidump=$(usex wifi) + -DENABLE_XXHASH=$(usex xxhash) + -DENABLE_ZLIB=$(usex zlib) + -DENABLE_ZLIBNG=OFF + -DENABLE_ZSTD=$(usex zstd) + ) + + tc-is-lto && mycmakeargs+=( -DENABLE_LTO=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build test-programs + + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html + epytest \ + --disable-capture \ + --skip-missing-programs=all \ + --program-path "${BUILD_DIR}"/run +} + +src_install() { + # bug #928577 + # https://gitlab.com/wireshark/wireshark/-/commit/fe7bfdf6caac9204ab5f34eeba7b0f4a0314d3cd + cmake_src_install install-headers + + if ! use doc; then + # prepare Relase Notes redirector (bug #939195) + local relnotes="doc/Wireshark Release Notes.html" + + # by default create a link for our specific version + local relversion="wireshark-${PV}.html" + + # for 9999 we link to the release notes index page + if [[ ${PV} == *_rc* ]] || [[ ${PV} == *9999* ]] ; then + relversion="" + fi + + # patch version into redirector & install it + sed -e "s/#VERSION#/${relversion}/g" < "${FILESDIR}/release-notes.html" > "${relnotes}" || die + dodoc "${relnotes}" + fi + + # FAQ is not required as is installed from help/faq.txt + dodoc AUTHORS ChangeLog README* doc/randpkt.txt doc/README* + + # install headers + insinto /usr/include/wireshark + doins "${BUILD_DIR}"/config.h + + # If trying to remove this, try build e.g. libvirt first! + # At last check, Fedora is still doing this too. + local dir dirs=( + epan + epan/crypt + epan/dfilter + epan/dissectors + epan/ftypes + wiretap + wsutil + wsutil/wmem + ) + + for dir in "${dirs[@]}" ; do + insinto /usr/include/wireshark/${dir} + doins ${dir}/*.h + done + + if use gui ; then + local s + + for s in 16 32 48 64 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/apps + newins resources/icons/wsicon${s}.png wireshark.png + done + + for s in 16 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes + newins resources/icons/WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png + done + fi + + if [[ -d "${ED}"/usr/share/appdata ]] ; then + rm -r "${ED}"/usr/share/appdata || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # Add group for users allowed to sniff. + chgrp pcap "${EROOT}"/usr/bin/dumpcap + + if use dumpcap && use pcap ; then + fcaps -o 0 -g pcap -m 4710 -M 0710 \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/dumpcap + fi + + ewarn "NOTE: To capture traffic with wireshark as normal user you have to" + ewarn "add yourself to the pcap group. This security measure ensures" + ewarn "that only trusted users are allowed to sniff your traffic." +} diff --git a/net-analyzer/wtfis/Manifest b/net-analyzer/wtfis/Manifest new file mode 100644 index 000000000000..af4487e57fa2 --- /dev/null +++ b/net-analyzer/wtfis/Manifest @@ -0,0 +1,2 @@ +DIST wtfis-0.14.0.gh.tar.gz 590717 BLAKE2B 66ae94d2002610883eba8a0b794200fe9a40b164f8cbd95c1b8eca762217b4f02fc3cd6c9f719dbb01af7bb19e236ed9098248f704cdee0c2fc54357ce79320a SHA512 db4a01d775a1beb61ccb1a5cb6307291802a0ac13ac5681d442426a003e162fcde37bc841c4e995ae60d9001c55d4f091de2454ebca3f1f705ddf32a9480989a +DIST wtfis-0.15.0.gh.tar.gz 591190 BLAKE2B 099002606ae893a0f5c52e5bccc497c835e1111e3e56f8d667e564b4d2fcac524f178693c30f512f6abc9c6886b4f0d30d18e5698d92d1df2506ec83d01cbc67 SHA512 81495b3ed4f96d03b468ec57b7d37e26193df139d7a78ddaa11aa0d8c8898129f9be2769708265be74f884230e116b29b07d06d65e4889f881740e0fb1c28488 diff --git a/net-analyzer/wtfis/metadata.xml b/net-analyzer/wtfis/metadata.xml new file mode 100644 index 000000000000..ecfa64b0a92c --- /dev/null +++ b/net-analyzer/wtfis/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>mario.haustein@hrz.tu-chemnitz.de</email> + <name>Mario Haustein</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + wtfis is a commandline tool that gathers information about a domain, + FQDN or IP address using various OSINT services. Unlike other tools of + its kind, it's built specifically for human consumption, providing + results that are pretty (YMMV) and easy to read and understand. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/wtfis/wtfis-0.14.0.ebuild b/net-analyzer/wtfis/wtfis-0.14.0.ebuild new file mode 100644 index 000000000000..78c92d2d0d8f --- /dev/null +++ b/net-analyzer/wtfis/wtfis-0.14.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 + +DESCRIPTION="Passive hostname, domain and IP lookup tool for non-robots" +HOMEPAGE="https://github.com/pirxthepilot/wtfis" + +if [[ ${PV} = "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/pirxthepilot/wtfis.git" +else + SRC_URI="https://github.com/pirxthepilot/wtfis/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="amd64 ~loong x86" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + >=dev-python/pydantic-2.12.5[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-1.1.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.3[${PYTHON_USEDEP}] + >=dev-python/rich-14.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/net-analyzer/wtfis/wtfis-0.15.0.ebuild b/net-analyzer/wtfis/wtfis-0.15.0.ebuild new file mode 100644 index 000000000000..5f3213d08026 --- /dev/null +++ b/net-analyzer/wtfis/wtfis-0.15.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 + +DESCRIPTION="Passive hostname, domain and IP lookup tool for non-robots" +HOMEPAGE="https://github.com/pirxthepilot/wtfis" + +if [[ ${PV} = "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/pirxthepilot/wtfis.git" +else + SRC_URI="https://github.com/pirxthepilot/wtfis/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="~amd64 ~loong ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + >=dev-python/pydantic-2.12.5[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-1.2.2[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.5[${PYTHON_USEDEP}] + >=dev-python/rich-14.3.3[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/net-analyzer/wtfis/wtfis-9999.ebuild b/net-analyzer/wtfis/wtfis-9999.ebuild new file mode 100644 index 000000000000..5f3213d08026 --- /dev/null +++ b/net-analyzer/wtfis/wtfis-9999.ebuild @@ -0,0 +1,37 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 + +DESCRIPTION="Passive hostname, domain and IP lookup tool for non-robots" +HOMEPAGE="https://github.com/pirxthepilot/wtfis" + +if [[ ${PV} = "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/pirxthepilot/wtfis.git" +else + SRC_URI="https://github.com/pirxthepilot/wtfis/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="~amd64 ~loong ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + >=dev-python/pydantic-2.12.5[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-1.2.2[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.5[${PYTHON_USEDEP}] + >=dev-python/rich-14.3.3[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/net-analyzer/xnetload/Manifest b/net-analyzer/xnetload/Manifest new file mode 100644 index 000000000000..015029559317 --- /dev/null +++ b/net-analyzer/xnetload/Manifest @@ -0,0 +1 @@ +DIST xnetload-1.11.3.tar.gz 24551 BLAKE2B f23ebc6609a2824f2b60aa045f505422df87ed21e622e4267f850f2d5954b312019d68a9738512e92f30e7f1745886743a82d3f08fcae1e1adff3acf4294ec6b SHA512 2008102c132ee96b12251b7c2475efcae7926bb16ba032f75d6be42650785fb707bed3696586369c04bb0e9434ee7854de585e7a015f1a15037a7f30c86036b7 diff --git a/net-analyzer/xnetload/files/xnetload-1.11.3-libdir.patch b/net-analyzer/xnetload/files/xnetload-1.11.3-libdir.patch new file mode 100644 index 000000000000..3bfbd619c112 --- /dev/null +++ b/net-analyzer/xnetload/files/xnetload-1.11.3-libdir.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ CC = gcc + + # The next two lines are for building an optimized and stripped program. + CFLAGS += -Wall -DNDEBUG -I/usr/include +-LFLAGS = $(LDFLAGS) -L/usr/lib ++LFLAGS = $(LDFLAGS) + + # These three lines are for building Athlon optimized programs on my system. + #CC=gcc-3.1 diff --git a/net-analyzer/xnetload/metadata.xml b/net-analyzer/xnetload/metadata.xml new file mode 100644 index 000000000000..def7802554eb --- /dev/null +++ b/net-analyzer/xnetload/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/xnetload/xnetload-1.11.3-r1.ebuild b/net-analyzer/xnetload/xnetload-1.11.3-r1.ebuild new file mode 100644 index 000000000000..078059e31231 --- /dev/null +++ b/net-analyzer/xnetload/xnetload-1.11.3-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Displays a count and a graph of the traffic over a specified network connection" +HOMEPAGE="https://www.xs4all.nl/~rsmith/software/" +SRC_URI="https://www.xs4all.nl/~rsmith/software/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 ~sparc x86" + +DEPEND=" + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXaw +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.11.3-libdir.patch" +) + +src_prepare() { + sed -i \ + -e 's;CFLAGS = -pipe -O2 -Wall;CFLAGS += -Wall;' \ + -e 's;LFLAGS = -s -pipe;LFLAGS = $(LDFLAGS);' \ + -e 's:gcc -MM:$(CC) -MM:' \ + -e 's:/usr/X11R6:/usr:g' \ + Makefile || die + + default +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dobin xnetload + doman xnetload.1 + dodoc ChangeLog README + insinto /usr/share/X11/app-defaults/ + doins XNetload +} diff --git a/net-analyzer/xprobe/Manifest b/net-analyzer/xprobe/Manifest new file mode 100644 index 000000000000..ac7fe80043b4 --- /dev/null +++ b/net-analyzer/xprobe/Manifest @@ -0,0 +1 @@ +DIST xprobe2-0.3.tar.gz 533636 BLAKE2B 1f106a3c08bfc6e205731a2e8c64f7e9f2e52caba38374ab7980fcae95113b6790297a59f5d4d6ad8e09d2145b68801403472b07690ff27b42dec8c6b7d97895 SHA512 fd499ada22be5df3e01630948cb72d1a9e648e0c7bfaf2a688386a61c67bb36a326a9e2f3f2b9960a6a49128343010aafe8a3f04ec05e89420a1384215e41f21 diff --git a/net-analyzer/xprobe/files/xprobe-0.3-clang.patch b/net-analyzer/xprobe/files/xprobe-0.3-clang.patch new file mode 100644 index 000000000000..1ed7561a5380 --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-clang.patch @@ -0,0 +1,16 @@ +Clang: ISO C++17 does not allow register storage class specifier +https://bugs.gentoo.org/897838 +--- a/libs-external/USI++/src/misc.cc ++++ b/libs-external/USI++/src/misc.cc +@@ -18,9 +18,9 @@ + in_cksum (unsigned short *ptr, int nbytes, bool may_pad) + { + +- register long sum; /* assumes long == 32 bits */ ++ long sum; /* assumes long == 32 bits */ + u_short oddbyte; +- register u_short answer; /* assumes u_short == 16 bits */ ++ u_short answer; /* assumes u_short == 16 bits */ + + + /* For psuedo-headers: odd len's require diff --git a/net-analyzer/xprobe/files/xprobe-0.3-cxx11.patch b/net-analyzer/xprobe/files/xprobe-0.3-cxx11.patch new file mode 100644 index 000000000000..7ec38a9c2756 --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-cxx11.patch @@ -0,0 +1,11 @@ +--- a/src/defines.h.in ++++ b/src/defines.h.in +@@ -24,7 +24,7 @@ + + #define VERSION "@VERSION@" + #define BANNER \ +-"\nXprobe2 v."VERSION\ ++"\nXprobe2 v." VERSION \ + " Copyright (c) 2002-2005 fyodor@o0o.nu, ofir@sys-security.com, meder@o0o.nu"\ + "\n" + diff --git a/net-analyzer/xprobe/files/xprobe-0.3-demangle-output.patch b/net-analyzer/xprobe/files/xprobe-0.3-demangle-output.patch new file mode 100644 index 000000000000..a63018a56bb1 --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-demangle-output.patch @@ -0,0 +1,156 @@ +https://github.com/dschwen/xprobe2/commit/1a8c68bc904bb1e971ec456aaff0879933a80e23 +https://bugs.gentoo.org/910424 + +From 1a8c68bc904bb1e971ec456aaff0879933a80e23 Mon Sep 17 00:00:00 2001 +From: Daniel Schwen <daniel@schwen.de> +Date: Mon, 22 Mar 2021 14:28:25 -0600 +Subject: [PATCH] Fix garbled output (#1) + +--- a/src/os_matrix.cc ++++ b/src/os_matrix.cc +@@ -42,12 +42,12 @@ OS_Name::OS_Name(void) { + ******************* + * returns FAIL is the OS already exist. os_id otherwise. + */ +- ++ + + int OS_Name::add_os(string &os_name) { + + if (find_os(os_name) != FAIL) return FAIL; /* exist */ +- ++ + osid_name.insert(pair<int, string>(id_count, os_name)); + return (id_count++); + } +@@ -58,7 +58,7 @@ int OS_Name::add_os(string &os_name) { + ******************* + * returns FAIL is the OS does not exist. os_id otherwise. + */ +- ++ + + int OS_Name::find_os(string &os_name) { + map <int, string>::iterator osid_i; +@@ -76,7 +76,7 @@ int OS_Name::find_os(string &os_name) { + ******************* + * for debugging _ONLY_ + */ +- ++ + + void OS_Name::list_oses(void) { + map <int, string>::iterator osid_i; +@@ -94,18 +94,18 @@ void OS_Name::list_oses(void) { + ******************* + * for debugging _ONLY_ + */ +- + + +-const string OS_Name::osid2str(int id) { ++ ++const string & OS_Name::osid2str(int id) { + map <int, string>::iterator osid_i = osid_name.find(id); + if (osid_i != osid_name.end()) return ((*osid_i).second); + return ("BUG, PLEASE REPORT! :-)"); + } +- ++ + /* + * OS_Vector stuff: +- */ ++ */ + OS_Vector::OS_Vector(int new_os_id) { + os_id = new_os_id; + total = 0; +@@ -148,18 +148,18 @@ int OS_Matrix::find_os_id(int os_id) { + if (os_id == osid_vec[i].get_os_id()) return i; + return -1; + } +- ++ + void OS_Matrix::add_result(int test_id, int os_id, int score, int times) { + int i; + +- xprobe_debug(XPROBE_DEBUG_OSMATRIX, "test_id: %i os_id: %i score: %i\n", test_id, os_id, score); ++ xprobe_debug(XPROBE_DEBUG_OSMATRIX, "test_id: %i os_id: %i score: %i\n", test_id, os_id, score); + + if (find_os_id(os_id) == -1) /* if doesn't exist. we insert it + * first */ + osid_vec.push_back(OS_Vector(os_id)); + + i = find_os_id(os_id); +- while (times-- > 0) { ++ while (times-- > 0) { + osid_vec[i].add_result(test_id, score); + } + } +@@ -173,7 +173,7 @@ int OS_Matrix::get_score(int os_id) { + + int OS_Matrix::get_max_score(int os_id) { + int i = find_os_id(os_id); +- ++ + //return (xp_loaded_mods * XPROBE_MATCH_YES); + return (osid_vec[i].get_number_of_keywords() * XPROBE_MATCH_YES); + +@@ -181,12 +181,12 @@ int OS_Matrix::get_max_score(int os_id) { + + int OS_Matrix::get_prcnt_score(int os_id) { + +- if (get_score(os_id) < 0) return 0; ++ if (get_score(os_id) < 0) return 0; + return get_score(os_id) * 100/get_max_score(os_id); + + } + +-int OS_Matrix::get_top(int num) { ++int OS_Matrix::get_top(int num) { + + sort(osid_vec.begin(), osid_vec.end(), os_vector_compare); + +@@ -194,5 +194,4 @@ int OS_Matrix::get_top(int num) { + return osid_vec[num].get_os_id(); + + return 0; /* out of range */ +-} +- ++} +--- a/src/os_matrix.h ++++ b/src/os_matrix.h +@@ -44,9 +44,9 @@ class OS_Name { + int id_count; + public: + OS_Name(void); +- const string osid2str(int); ++ const string & osid2str(int); + const char *osid2char(int id) { +- string s = osid2str(id); ++ const string & s = osid2str(id); + return (s.c_str()); + } + int add_os(string &os_name); +@@ -54,7 +54,7 @@ class OS_Name { + void list_oses(void); + int get_osnum(void) { return id_count; } + }; +- ++ + + class OS_Vector { + +@@ -79,7 +79,7 @@ class OS_Matrix { + vector <OS_Vector> osid_vec; + int xp_loaded_mods; + int find_os_id(int); +- ++ + public: + OS_Matrix(int); + virtual ~OS_Matrix(void); +@@ -96,4 +96,3 @@ class OS_Matrix { + }; + + #endif /* INTERFACE_H */ +- diff --git a/net-analyzer/xprobe/files/xprobe-0.3-gcc-12.patch b/net-analyzer/xprobe/files/xprobe-0.3-gcc-12.patch new file mode 100644 index 000000000000..534d17cb019b --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-gcc-12.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/852119 +--- a/libs-external/USI++/src/datalink.cc ++++ b/libs-external/USI++/src/datalink.cc +@@ -15,6 +15,7 @@ + #include <string.h> + #include <unistd.h> + #include <errno.h> ++#include <ctime> + #include <sys/ioctl.h> + + #ifdef IMMEDIATE +--- a/libs-external/USI++/src/tcp.cc ++++ b/libs-external/USI++/src/tcp.cc +@@ -16,6 +16,7 @@ + #include <string.h> + #include <stdlib.h> + #include <errno.h> ++#include <ctime> + + namespace usipp { + diff --git a/net-analyzer/xprobe/files/xprobe-0.3-gcc43.patch b/net-analyzer/xprobe/files/xprobe-0.3-gcc43.patch new file mode 100644 index 000000000000..1175631b9a16 --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-gcc43.patch @@ -0,0 +1,29 @@ +--- a/libs-external/USI++/src/ip.cc ++++ b/libs-external/USI++/src/ip.cc +@@ -13,6 +13,7 @@ + #include "usi++/ip.h" + + #include "config.h" ++#include <cstdlib> + #include <iostream> + #include <string.h> + #include <errno.h> +--- a/libs-external/USI++/src/misc.cc ++++ b/libs-external/USI++/src/misc.cc +@@ -1,5 +1,6 @@ + #include "usi++/usi++" + #include "usi++/usi-structs.h" ++#include <cstdlib> + #include <string.h> + #include <unistd.h> + #include <sys/ioctl.h> +--- a/libs-external/USI++/usi++/tcp.h ++++ b/libs-external/USI++/usi++/tcp.h +@@ -15,6 +15,7 @@ + #include "usi-structs.h" + #include "datalink.h" + #include "ip.h" ++#include <cstring> + + namespace usipp { + diff --git a/net-analyzer/xprobe/files/xprobe-0.3-makefiles.patch b/net-analyzer/xprobe/files/xprobe-0.3-makefiles.patch new file mode 100644 index 000000000000..ed49b8366e4c --- /dev/null +++ b/net-analyzer/xprobe/files/xprobe-0.3-makefiles.patch @@ -0,0 +1,99 @@ +Add explicit dependency between program and library +Fixes break with MAKEOPTS="-j1 --shuffle=3854825862" and other shuffle +Also folds sed commands from ebuild and patches configure; running +autoreconf breaks build +https://bugs.gentoo.org/882675 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -47,7 +47,7 @@ + + all: lib xprobe2 + +-xprobe2: $(OBJS) modules ++xprobe2: $(OBJS) modules lib + $(CXX) $(CFLAGS) $(OBJS) $(MODOBJS) -o $@ $(LDFLAGS) $(LIBS) + strip $@ + +--- a/libs-external/USI++/src/Makefile.in ++++ b/libs-external/USI++/src/Makefile.in +@@ -15,7 +15,7 @@ + clear + + usi++:icmp.o datalink.o ip.o misc.o udp.o tcp.o TX_IP.o Layer2.o arp.o +- ar cr libusi++.a *.o ++ $(AR) cr libusi++.a *.o + # ld *.o -Bshareable -o libusi++.so + $(RANLIB) libusi++.a + rm -f *.o +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -49,7 +49,7 @@ + + xprobe2: $(OBJS) modules lib + $(CXX) $(CFLAGS) $(OBJS) $(MODOBJS) -o $@ $(LDFLAGS) $(LIBS) +- strip $@ ++ true $@ + + modules: + cd xpmodules; ${MAKE} +--- a/src/xplib/Makefile.in ++++ b/src/xplib/Makefile.in +@@ -44,7 +44,7 @@ + all: libxplib.a + + libxplib.a: $(OBJS) +- ar cr libxplib.a *.o ++ $(AR) cr libxplib.a *.o + $(RANLIB) libxplib.a + + .c.o: $(INCLUDES) +--- a/src/xpmodules/alive_probe/Makefile.in ++++ b/src/xpmodules/alive_probe/Makefile.in +@@ -42,7 +42,7 @@ + all: alive_probe.a + + alive_probe.a: icmp_ping.o tcp_ping.o udp_ping.o ttl_module portscan_module +- ar cr alive_probe.a *.o ttl_calc/*.o portscanner/*.o ++ $(AR) cr alive_probe.a *.o ttl_calc/*.o portscanner/*.o + $(RANLIB) alive_probe.a + + icmp_ping.o: icmp_ping.cc +--- a/src/xpmodules/os_probe/Makefile.in ++++ b/src/xpmodules/os_probe/Makefile.in +@@ -43,7 +43,7 @@ + + os_probe.a: icmp_port_unreach_mod icmp_echo_id_mod icmp_timestamp_mod \ + icmp_inforeq_mod icmp_addrmask_mod tcp_handshake_mod tcp_rst_mod smb_mod snmp_mod +- ar cr os_probe.a icmp_port_unreach/*.o icmp_echo_id/*.o icmp_timestamp/*.o \ ++ $(AR) cr os_probe.a icmp_port_unreach/*.o icmp_echo_id/*.o icmp_timestamp/*.o \ + icmp_inforeq/*.o icmp_addrmask/*.o tcp_handshake/*.o tcp_rst/*.o smb/*.o snmp/*.o + $(RANLIB) os_probe.a + +--- b/configure ++++ a/configure +@@ -2252,6 +2252,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + $ac_declaration ++#include <cstdlib> + int + main () + { +@@ -2613,6 +2614,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + $ac_declaration ++#include <cstdlib> + int + main () + { +--- a/libs-external/USI++/src/configure 2025-02-15 16:41:20.320574540 +0400 ++++ b/libs-external/USI++/src/configure 2025-02-15 16:42:29.463212487 +0400 +@@ -3499,6 +3499,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <ctype.h> ++#include <stdlibh> + #if ((' ' & 0x0FF) == 0x020) + # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) diff --git a/net-analyzer/xprobe/metadata.xml b/net-analyzer/xprobe/metadata.xml new file mode 100644 index 000000000000..6b7c70123e88 --- /dev/null +++ b/net-analyzer/xprobe/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Active OS fingerprinting tool. This is the new xprobe, called xprobe2, due to + xprobe1 being obsoleted. xprobe2 has a different approach to OS fingerprinting. + xprobe2 relies on fuzzy signature matching, probabilistic guesses, multiple + matches simultaneously, and a signature database. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/xprobe/xprobe-0.3-r1.ebuild b/net-analyzer/xprobe/xprobe-0.3-r1.ebuild new file mode 100644 index 000000000000..8416f8e294ac --- /dev/null +++ b/net-analyzer/xprobe/xprobe-0.3-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_P=${PN}2-${PV} + +DESCRIPTION="Active OS fingerprinting tool - this is Xprobe2" +HOMEPAGE="http://sys-security.com/blog/xprobe2" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc x86" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-gcc43.patch + "${FILESDIR}"/${P}-cxx11.patch + "${FILESDIR}"/${P}-gcc-12.patch +) + +src_prepare() { + default + + sed -i -e 's:strip:true:' src/Makefile.in || die + sed -i -e 's:ar cr:$(AR) cr:g' $(find -name '*Makefile*') || die + + tc-export AR +} + +src_install() { + default + + dodoc AUTHORS CHANGELOG CREDITS README TODO docs/*.{txt,pdf} +} diff --git a/net-analyzer/xprobe/xprobe-0.3-r2.ebuild b/net-analyzer/xprobe/xprobe-0.3-r2.ebuild new file mode 100644 index 000000000000..b4847c26f053 --- /dev/null +++ b/net-analyzer/xprobe/xprobe-0.3-r2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_P=${PN}2-${PV} + +DESCRIPTION="Active OS fingerprinting tool - this is Xprobe2" +HOMEPAGE="http://sys-security.com/blog/xprobe2" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc x86" + +DEPEND="net-libs/libpcap" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-gcc43.patch + "${FILESDIR}"/${P}-cxx11.patch + "${FILESDIR}"/${P}-gcc-12.patch + "${FILESDIR}"/${P}-makefiles.patch + "${FILESDIR}"/${P}-demangle-output.patch + "${FILESDIR}"/${P}-clang.patch +) + +src_prepare() { + default + + tc-export AR +} + +src_install() { + default + + dodoc AUTHORS CHANGELOG CREDITS README TODO docs/*.{txt,pdf} +} diff --git a/net-analyzer/yersinia/Manifest b/net-analyzer/yersinia/Manifest new file mode 100644 index 000000000000..a80add615abf --- /dev/null +++ b/net-analyzer/yersinia/Manifest @@ -0,0 +1 @@ +DIST yersinia-0.8.2_p20221119.tar.gz 268158 BLAKE2B 2598d6809c7830c7824c9141ef58a617a8d472c0d7b3591b81e6209cecb915649a82d780108c45c488619775effca266eca4a9a0e60d1174211a5af05a05997d SHA512 e54025d782374d836148a813c0a8eb8d822c82f87d6e92c10b254831b95eef073d36ddb1ef94a7e7db2cd962fd52589d41fc6d21ca63422ca57c5ada2045de72 diff --git a/net-analyzer/yersinia/files/yersinia-0.7.1-no-ncurses.patch b/net-analyzer/yersinia/files/yersinia-0.7.1-no-ncurses.patch new file mode 100644 index 000000000000..96036dd629e9 --- /dev/null +++ b/net-analyzer/yersinia/files/yersinia-0.7.1-no-ncurses.patch @@ -0,0 +1,13 @@ +--- a/src/terminal.c ++++ b/src/terminal.c +@@ -190,7 +190,9 @@ + #endif + + pthread_mutex_destroy(&terms->admin_listen_th.finished); ++#ifdef HAS_CURSES + pthread_mutex_destroy(&terms->gui_th.finished); ++#endif + pthread_mutex_destroy(&terms->pcap_listen_th.finished); + pthread_mutex_destroy(&terms->uptime_th.finished); + + diff --git a/net-analyzer/yersinia/files/yersinia-0.7.3-tinfo.patch b/net-analyzer/yersinia/files/yersinia-0.7.3-tinfo.patch new file mode 100644 index 000000000000..b5bf566c107d --- /dev/null +++ b/net-analyzer/yersinia/files/yersinia-0.7.3-tinfo.patch @@ -0,0 +1,27 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -467,6 +467,7 @@ + AC_DEFINE(HAVE_REMOTE_ADMIN) + fi + ++PKG_CHECK_MODULES(ncurses,ncurses) + + dnl Curses detection: Munged from Midnight Commander's configure.in + dnl +@@ -616,6 +617,16 @@ + AC_DEFINE(USE_NCURSES) + AC_DEFINE(HAS_CURSES) + has_curses=true ++ else ++ if test "$ncurses_LIBS" ; then ++ CURSES_LIBS="$ncurses_LIBS" ++ CURSES_INCLUDEDIR="$ncurses_CFLAGS" ++ search_ncurses=false ++ screen_manager="ncurses" ++ AC_DEFINE(USE_NCURSES) ++ AC_DEFINE(HAS_CURSES) ++ has_curses=true ++ fi + fi + ) + diff --git a/net-analyzer/yersinia/files/yersinia-0.8.2-C23.patch b/net-analyzer/yersinia/files/yersinia-0.8.2-C23.patch new file mode 100644 index 000000000000..6cbfde50ed11 --- /dev/null +++ b/net-analyzer/yersinia/files/yersinia-0.8.2-C23.patch @@ -0,0 +1,12 @@ +diff -ru a/src/yersinia.c b/src/yersinia.c +--- a/src/yersinia.c 2025-01-06 20:10:12.501482780 +0400 ++++ b/src/yersinia.c 2025-01-06 20:11:08.635172681 +0400 +@@ -927,7 +927,7 @@ + * POSIX functions for signals + */ + int +-posix_signal( int signo, void (*handler)() ) ++posix_signal( int signo, void (*handler)(int) ) + { + struct sigaction act; + diff --git a/net-analyzer/yersinia/metadata.xml b/net-analyzer/yersinia/metadata.xml new file mode 100644 index 000000000000..9cc6067471b9 --- /dev/null +++ b/net-analyzer/yersinia/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <longdescription> + Yersinia is a network tool designed to take advantage of some weakeness + in different network protocols. It intends to be a solid framework for + analyzing and testing the deployed networks and systems. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/yersinia/yersinia-0.8.2_p20221119.ebuild b/net-analyzer/yersinia/yersinia-0.8.2_p20221119.ebuild new file mode 100644 index 000000000000..45575b519ea0 --- /dev/null +++ b/net-analyzer/yersinia/yersinia-0.8.2_p20221119.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="A framework for layer 2 attacks" +HOMEPAGE="http://www.yersinia.net/" +#SRC_URI="https://github.com/tomac/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +COMMIT="867b309eced9e02b63412855440cd4f5f7727431" +SRC_URI="https://github.com/tomac/yersinia/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="gtk ncurses" + +RDEPEND=" + >=net-libs/libnet-1.1.2:1.1 + >=net-libs/libpcap-0.9.4 + ncurses? ( >=sys-libs/ncurses-5.5:= ) + gtk? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + =x11-libs/gtk+-2*:2 + x11-libs/pango + ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog FAQ README THANKS TODO ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.1-no-ncurses.patch + "${FILESDIR}"/${PN}-0.7.3-tinfo.patch + "${FILESDIR}"/${PN}-0.8.2-C23.patch +) + +src_prepare() { + default + + if ! use gtk; then + # bug #514802 + sed -i -e '/AM_GLIB_GNU_GETTEXT/d' configure.ac || die + fi + + eautoreconf +} + +src_configure() { + append-cflags -fcommon + + econf \ + --enable-admin \ + --with-pcap-includes=/usr/include \ + $(use_with ncurses) \ + $(use_enable gtk) +} + +src_compile() { + emake CFLAGS="${CFLAGS}" +} diff --git a/net-analyzer/zabbix/Manifest b/net-analyzer/zabbix/Manifest new file mode 100644 index 000000000000..71fd90e45de6 --- /dev/null +++ b/net-analyzer/zabbix/Manifest @@ -0,0 +1,18 @@ +DIST zabbix-6.0.41-go-deps.tar.xz 31888876 BLAKE2B 013e5235412a291b038b8df682e00551a73ad4afb52a671fae45c106d26c31f1e4e56d1eb6cc2ddbe7e9d0b091da34ae21be2b15fc227d52af2fa00699e64886 SHA512 cf45e0c2b57b5a92a6a337a514f2fcb2dac0c3b5a9327fccf7907299711c3d52985da186c71d6b107d21d7345bb01cfaf10ce2bd7d09fe594d48761b1ef134a5 +DIST zabbix-6.0.41.tar.gz 41250295 BLAKE2B 8fc8b7982115d4b4a28935604179b0c2a1171a8cb27bcba2dbe39072dd56e6b4099e64ea634f97bbc67b17a82b5d89a3bf619e38d1c5c786e7bfaa68cdebe603 SHA512 15fd2810a893d77f27cdcfd2cfd14a56b3fce11e8053a6828ed6005bac705602ebcce57ad4ea82d12555980541726dbb28cecd6f4c9891d6fb75205ede1a85a5 +DIST zabbix-6.0.43-go-deps.tar.xz 31894264 BLAKE2B 644de0860f413a3be2021559c8736bb48b5abcdd98094b48cebeae019a005e5fb13c767bd1bce9b1b2683e5522fd8188589257b6a533e90e77fc4c6adb9be439 SHA512 89c23d3af3445a8a01a5829fdcbbf3b8001b15dc6fa22794f00e2142016727c898b19d40ed087c648e037c6f44db974ad2d588cd7e9c8336069002803522e594 +DIST zabbix-6.0.43.tar.gz 41411022 BLAKE2B dc25b61f983d8d35ca99c64425f41ae53dc07b1ffb99bb90c2b1b78975b710229d5e183a7e5fbfbe49f9d1dd31787cdb7caeed10f9cc1cf70b410e2314eb4851 SHA512 daa585622f6ce47019a072ceb0aea285d5af1bc397c72fb6ad8d9d7677a3d3274d2c617e8ab734cca0677981a0dc0d2eda665b35b89e21bd84d0d27c6ca26c33 +DIST zabbix-6.0.46-go-deps.tar.xz 32420472 BLAKE2B 71cdd86635191b1af9834a063a22745f54e57392962ac3ee454b8c473b6c86298c64da24a3a17894b1cc39a5501b4ac9d042350c077575a4cbfccacdf613df10 SHA512 448b8285dbc3538d9afd10f9ea5a76d291a04a8e8e7ae25454523ff31457e1ae2fa5aba6fac47195a0d731dfe8a463817e06d126bdac5154abe49b658407706b +DIST zabbix-6.0.46.tar.gz 41430362 BLAKE2B b3859ee77e815ac05e9fbb8ab15e4aead764ff7bc67fb15ba09cd52f985a35e8b9c26e2ecacb34d9384a617a4d5ac5423c6c4fff0df99f63633fe395ce48e22c SHA512 bcc4ffa3727886d0a45b846a3b5071e1e6e51bbebaa3342356185bdfd8639409afafa85686d2d4a37a4c932618179929d8980fefda2b9ce1c149f065dec29bc8 +DIST zabbix-7.0.18-go-deps.tar.xz 36261808 BLAKE2B ef625c9a3a2eb13af088bec0466e18273314365bbf8231d453e48a66d6d20983afce6b162596a2785387f772035d09e593d6d44643e71a7ff9be5fb5f6136523 SHA512 a26f939c9d4e08fa1c39203201a46c869ebdb133c942aa76181eeb4b07104cb3deea6899f2b88d1f98a17586a59358b63ba468ff0ef10072aea24072b0f68568 +DIST zabbix-7.0.18.tar.gz 46113850 BLAKE2B 8a88e359a6aa411ca5eb010fe24352edc3fb9dfba64d86e4e609ac3537c46cb45d470ba2f8bc196e62359459fd695d94d8be5a18afa5d1fe933fcb6f7de80cf7 SHA512 cb3530ee122aac0df1d969192bff6721b00560acabbc97877f1323e717def04f8111a42109289d881ca059364b33bcf1b5a7e5549ee33b3375a9a8956d5b354d +DIST zabbix-7.0.22-go-deps.tar.xz 36939532 BLAKE2B 065194bdad677854f91f42f7497d07078f75b847775b79afa646db7e55f4a1671737b5e2f72d70b58ec9170d9a2131fbf500379be5de8fec55335b7e9056933d SHA512 bb4879f42bc38412a71689ad9d3377956de5a2485d3de52300cbe23ced1160209c7981cd22f97aa8121b9a3d83c2f874d4f974b3f1248a5bc783a7e1425a1b57 +DIST zabbix-7.0.22.tar.gz 46755855 BLAKE2B c8e9edebd8af65f5fdbf93865909e0db10dc592d48edbe0e8abc4670141d16fc89088aa9d622af4891cda809bd260fa0d817283f3c159fead8bb2181de8cb865 SHA512 476016cfef14c960a688594033956d380e9effbfabd96b31f24d558c83c36c98af64f747af7711c832c13b203536824838242e6d7dbe0e2ba3bb7fbcf4e5ed11 +DIST zabbix-7.0.26-go-deps.tar.xz 36969604 BLAKE2B 53a7456092f2fb98c96218d65217d9e5e67f9b91ce7d30658a2485236cf2e1320db46e6e03a68d8460f053e1f818bde2e94a494987bca466cb880bf0c9c92b9f SHA512 61841a88db7387e787ee93ab09ac6aa423e11970d045c84eabce0e44292eb1130c4767545eabd10165b56a8788d576e9069fce1ae8aa1b636edae03f6752748c +DIST zabbix-7.0.26.tar.gz 46875037 BLAKE2B c54bded1a8d3498d82cc4c45f47f0d2cc98b7baf0d429a653b2f5e667a3745037a27490d8c2787e7e27af1fbfc5333c9d20856154d9c5d9da8f3ad7d7651a727 SHA512 b615bc09eaeca0880579bdab8e002d8a0af7d0ef6cead056261d0326df6763fe1aea3619e8e94ea53243f9d33dc2665a0d0b55032bf2031556fff0813ccf0bb8 +DIST zabbix-7.4.10-go-deps.tar.xz 36870880 BLAKE2B 253e43cb9e199b9c2625276dad39a8688c37ac15f82a6e59b278830a0696a0a0a440bc200ad3ab64148d4c7ccd38c3a1bb5900a62b4e4edb3e98fb07e8c156f9 SHA512 da27b99a9657b84a8d3fc1121854c69945a58d6eacec735909b59e53fd432f1d83c34cf4bac04d08e7aed9dff85f944c3d4075e33b5e5fcd88b657ab28ea29a5 +DIST zabbix-7.4.10.tar.gz 43527563 BLAKE2B 740745d789da8fdf5ece6883c11cabb44b80dc4ed73507d0774e94cb213b1a20fe86714476420f29be8a2217b0347b1b4aa80703600833b063d42a6c4126aa6d SHA512 cdd78ebf0c5e83525b70cbf69c3bead4900770f0a78e065b48ebf4f531487ff5dc6b2451fb0b757e29fa0271e7a0afcad7cadcfdfac8ccd537bbfeaeb2a6f8a6 +DIST zabbix-7.4.2-go-deps.tar.xz 36822248 BLAKE2B f878acdd530f994f43cb792ed5b7551aead78fb46a10e91fe46baf1ca02f948a45363e368b414c38ba0bcb91d142302159a1a85d8b378b9a20a2cceb24d2d4c3 SHA512 4609c7ba55503e83ee9a9767d84bb9a22406b1fb1e9bce2b2a759a35aa379790d5bb4b6dee388b50a661288e6b048d6da960505289f4035c39a6f7e1d0410c48 +DIST zabbix-7.4.2.tar.gz 42772578 BLAKE2B 1fd758873db540dbf0c8da17a9baeddd3e4e772fbc2e80b430986ed3552bae54efaae6131f2be727b9332e9c3a2d254f24aeef90584b990abe341bbb7f8d5582 SHA512 3bf1f915c2cd5a59f1dd3afc10dd1a6e596840e576013839d6eae057cd327893f87cc5cec1d32b6a8ca8bd00735c0070327084aae01dc8d3399202f5a3e365c1 +DIST zabbix-7.4.6-go-deps.tar.xz 37149460 BLAKE2B ef22489c750a00247ac5920cef8e98a840809fa668ceda6bc4288c7ccbc34ef72569cf47ba076696f9c3d0a54b53a7a1102f9ee1d8a4cc6e0ef5479de2378fa9 SHA512 6b39c505e43e4020f9ffba9551902bae8c15eaab1392a77e13d5c01c3ac8e357678eed5915568008bdd6270dfb2e3a0449e49c12fcdd92e4fce0d411b9df67df +DIST zabbix-7.4.6.tar.gz 43328893 BLAKE2B c3ab56bd45eb0f34d6c042c699068cdcfe4ed6098ebe0d981afc9a30f0f27aa5767ddf099fb00b886753bdb849abbf718ed362ccb11824666020742ea8874858 SHA512 2f593e210409c74974395bf163be127159136eac86216443122f5d2104cb85b5b652c6f445ed7408532b894f7ddbc3f1f060465f7797326f1198d3354f48e2e9 diff --git a/net-analyzer/zabbix/files/zabbix-3.0.30-security-disable-PidFile.patch b/net-analyzer/zabbix/files/zabbix-3.0.30-security-disable-PidFile.patch new file mode 100644 index 000000000000..b2635ff7d8a1 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-3.0.30-security-disable-PidFile.patch @@ -0,0 +1,41 @@ +--- a/conf/zabbix_agentd.conf ++++ b/conf/zabbix_agentd.conf +@@ -5,6 +5,7 @@ + + ### Option: PidFile + # Name of PID file. ++# THIS PARAMETER IS IGNORED IN GENTOO FOR SECURITY REASONS (https://bugs.gentoo.org/629884) + # + # Mandatory: no + # Default: +--- a/conf/zabbix_proxy.conf ++++ b/conf/zabbix_proxy.conf +@@ -109,6 +109,7 @@ LogFile=/tmp/zabbix_proxy.log + + ### Option: PidFile + # Name of PID file. ++# THIS PARAMETER IS IGNORED IN GENTOO FOR SECURITY REASONS (https://bugs.gentoo.org/629884) + # + # Mandatory: no + # Default: +--- a/conf/zabbix_server.conf ++++ b/conf/zabbix_server.conf +@@ -62,6 +62,7 @@ LogFile=/tmp/zabbix_server.log + + ### Option: PidFile + # Name of PID file. ++# THIS PARAMETER IS IGNORED IN GENTOO FOR SECURITY REASONS (https://bugs.gentoo.org/629884) + # + # Mandatory: no + # Default: +--- a/src/libs/zbxnix/pid.c ++++ b/src/libs/zbxnix/pid.c +@@ -26,6 +26,8 @@ static int fdpid = -1; + + int create_pid_file(const char *pidfile) + { ++ return SUCCEED; ++ + int fd; + zbx_stat_t buf; + struct flock fl; diff --git a/net-analyzer/zabbix/files/zabbix-4.0.18-modulepathfix.patch b/net-analyzer/zabbix/files/zabbix-4.0.18-modulepathfix.patch new file mode 100644 index 000000000000..3e4ed297ebc0 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-4.0.18-modulepathfix.patch @@ -0,0 +1,11 @@ +--- zabbix-4.0.1/configure ++++ zfx/configure +@@ -12510,7 +12510,7 @@ + CURL_SSL_CERT_LOCATION="${datadir}/zabbix/ssl/certs" + CURL_SSL_KEY_LOCATION="${datadir}/zabbix/ssl/keys" + +-LOAD_MODULE_PATH="${libdir}/modules" ++LOAD_MODULE_PATH="${libdir}/zabbix" + + + diff --git a/net-analyzer/zabbix/files/zabbix-6.0.3-system.sw.packages.patch b/net-analyzer/zabbix/files/zabbix-6.0.3-system.sw.packages.patch new file mode 100644 index 000000000000..3cb4b74fb15d --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-6.0.3-system.sw.packages.patch @@ -0,0 +1,26 @@ +From 1869f67549ea9491377269ef11a99ed5fc38e3cc Mon Sep 17 00:00:00 2001 +From: Alexey Shvetsov <alexxy@gentoo.org> +Date: Mon, 21 Mar 2022 11:23:54 +0300 +Subject: [PATCH] Allow to use system.sw.packages on gentoo linux + +Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> +--- a/src/go/plugins/system/sw/sw.go ++++ b/src/go/plugins/system/sw/sw.go +@@ -165,6 +165,7 @@ func getManagers() []manager { + {"pkgtools", "[ -d /var/log/packages ] && echo true", "ls /var/log/packages", parseRegex}, + {"rpm", "rpm --version 2> /dev/null", "rpm -qa", parseRegex}, + {"pacman", "pacman --version 2> /dev/null", "pacman -Q", parseRegex}, ++ {"portage", "emerge --version 2> /dev/null", "qlist -IRCv", parseRegex}, + } + } + +--- a/src/libs/zbxsysinfo/linux/software.c ++++ b/src/libs/zbxsysinfo/linux/software.c +@@ -177,6 +177,7 @@ static ZBX_PACKAGE_MANAGER package_managers[] = + {"pkgtools", "[ -d /var/log/packages ] && echo true", "ls /var/log/packages", NULL}, + {"rpm", "rpm --version 2> /dev/null", "rpm -qa", NULL}, + {"pacman", "pacman --version 2> /dev/null", "pacman -Q", NULL}, ++ {"portage", "emerge --version 2> /dev/null", "qlist -IRCv", NULL}, + {NULL} + }; + diff --git a/net-analyzer/zabbix/files/zabbix-6.4.0-configure-sscanf.patch b/net-analyzer/zabbix/files/zabbix-6.4.0-configure-sscanf.patch new file mode 100644 index 000000000000..0a95780c4505 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-6.4.0-configure-sscanf.patch @@ -0,0 +1,12 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -952,8 +952,9 @@ dnl Check for %qu format (FreeBSD 4.x) + dnl FreeBSD 4.x does not support %llu + AC_MSG_CHECKING(for long long format) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ ++#include <stdio.h> + #include <sys/types.h> +-int main() ++int main(void) + { + uint64_t i; diff --git a/net-analyzer/zabbix/files/zabbix-agent2.init b/net-analyzer/zabbix/files/zabbix-agent2.init new file mode 100644 index 000000000000..6a88e62b429a --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agent2.init @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/zabbix_agent2" +command_args="--foreground --config /etc/zabbix/zabbix_agent2.conf" +command_background="true" +command_user="zabbix:zabbix" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net + provide zabbix-agent + use zabbix-server +} + +start_pre() { + checkpath -q -d -m 0750 -o root:zabbix /etc/zabbix + checkpath -q -f -m 0640 -o root:zabbix /etc/zabbix/*.conf +} diff --git a/net-analyzer/zabbix/files/zabbix-agent2.service b/net-analyzer/zabbix/files/zabbix-agent2.service new file mode 100644 index 000000000000..b182482fde97 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agent2.service @@ -0,0 +1,12 @@ +[Unit] +Description=Zabbix agent +Documentation=https://zabbix.com/manuals +After=network.target network-online.target + +[Service] +User=zabbix +Group=zabbix +ExecStart=/usr/sbin/zabbix_agent2 --foreground --config /etc/zabbix/zabbix_agent2.conf + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/zabbix/files/zabbix-agent2.tmpfiles b/net-analyzer/zabbix/files/zabbix-agent2.tmpfiles new file mode 100644 index 000000000000..56471bb42c0a --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agent2.tmpfiles @@ -0,0 +1 @@ +d /run/zabbix 0755 zabbix zabbix - diff --git a/net-analyzer/zabbix/files/zabbix-agentd.init b/net-analyzer/zabbix/files/zabbix-agentd.init new file mode 100644 index 000000000000..e2433ff8f6e9 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agentd.init @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/zabbix_agentd" +command_args="--foreground --config /etc/zabbix/zabbix_agentd.conf" +command_background="true" +command_user="zabbix:zabbix" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net + provide zabbix-agent + use zabbix-server +} + +start_pre() { + checkpath -q -d -m 0750 -o root:zabbix /etc/zabbix + checkpath -q -f -m 0640 -o root:zabbix /etc/zabbix/*.conf +} diff --git a/net-analyzer/zabbix/files/zabbix-agentd.service b/net-analyzer/zabbix/files/zabbix-agentd.service new file mode 100644 index 000000000000..dc13089e0cf5 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agentd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Zabbix agent +Documentation=https://zabbix.com/manuals +After=network.target network-online.target + +[Service] +User=zabbix +Group=zabbix +ExecStart=/usr/sbin/zabbix_agentd --foreground --config /etc/zabbix/zabbix_agentd.conf + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/zabbix/files/zabbix-agentd.tmpfiles b/net-analyzer/zabbix/files/zabbix-agentd.tmpfiles new file mode 100644 index 000000000000..56471bb42c0a --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-agentd.tmpfiles @@ -0,0 +1 @@ +d /run/zabbix 0755 zabbix zabbix - diff --git a/net-analyzer/zabbix/files/zabbix-jmx-proxy.conf b/net-analyzer/zabbix/files/zabbix-jmx-proxy.conf new file mode 100644 index 000000000000..6aa3cf96f84d --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-jmx-proxy.conf @@ -0,0 +1,12 @@ +# Configuration variables for the zabbix jmx proxy + + +# LISTEN_IP="0.0.0.0" +# LISTEN_PORT=10052 +# START_POLLERS=5 +# TIMEOUT=3 + +# uncomment to enable remote monitoring of the standard JMX objects on the Zabbix Java Gateway itself +# JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 +# -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" + diff --git a/net-analyzer/zabbix/files/zabbix-jmx-proxy.init b/net-analyzer/zabbix/files/zabbix-jmx-proxy.init new file mode 100644 index 000000000000..5722814173e8 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-jmx-proxy.init @@ -0,0 +1,33 @@ +#!/sbin/openrc-run + +LISTEN_IP=${LISTEN_IP:-127.0.0.1} +LISTEN_PORT=${LISTEN_PORT:-10052} +START_POLLERS=${START_POLLERS:-5} +TIMEOUT=${TIMEOUT:-3} + +PID_FILE="/run/zabbix-jmx-proxy" + + +start() { + ZABBIX_OPTIONS="-Dzabbix.pidFile=$PID_FILE \ + -Dzabbix.listenIP=$LISTEN_IP \ + -Dzabbix.listenPort=$LISTEN_PORT \ + -Dzabbix.startPollers=$START_POLLERS \ + -Dzabbix.timeout=$TIMEOUT \ + -Dsun.rmi.transport.tcp.responseTimeout=${TIMEOUT}000" + + JAVA_OPTIONS="-server $JAVA_OPTIONS -Dlogback.configurationFile=logback-console.xml" + + cd /opt/zabbix_java + + CLASSPATH="lib" + for jar in lib/*.jar bin/*.jar; do + CLASSPATH="$CLASSPATH:$jar" + done + + start-stop-daemon -m --background --pidfile $PID_FILE -- java $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway +} + +stop() { + start-stop-daemon --stop --pidfile $PID_FILE +} diff --git a/net-analyzer/zabbix/files/zabbix-proxy.init b/net-analyzer/zabbix/files/zabbix-proxy.init new file mode 100644 index 000000000000..8347b481fffb --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-proxy.init @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/zabbix_proxy" +command_args="--foreground --config /etc/zabbix/zabbix_proxy.conf" +command_background="true" +command_user="zabbix:zabbix" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net + provide zabbix-proxy +} + +start_pre() { + checkpath -q -d -m 0750 -o root:zabbix /etc/zabbix + checkpath -q -f -m 0640 -o root:zabbix /etc/zabbix/*.conf +} + diff --git a/net-analyzer/zabbix/files/zabbix-proxy.service b/net-analyzer/zabbix/files/zabbix-proxy.service new file mode 100644 index 000000000000..78b07be05062 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-proxy.service @@ -0,0 +1,12 @@ +[Unit] +Description=Zabbix proxy +Documentation=https://zabbix.com/manuals +After=network.target network-online.target + +[Service] +User=zabbix +Group=zabbix +ExecStart=/usr/sbin/zabbix_proxy --foreground --config /etc/zabbix/zabbix_proxy.conf + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/zabbix/files/zabbix-proxy.tmpfiles b/net-analyzer/zabbix/files/zabbix-proxy.tmpfiles new file mode 100644 index 000000000000..56471bb42c0a --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-proxy.tmpfiles @@ -0,0 +1 @@ +d /run/zabbix 0755 zabbix zabbix - diff --git a/net-analyzer/zabbix/files/zabbix-server-r1.init b/net-analyzer/zabbix/files/zabbix-server-r1.init new file mode 100644 index 000000000000..1652ba782fa8 --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-server-r1.init @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/zabbix_server" +command_args="--foreground --config /etc/zabbix/zabbix_server.conf" +command_background="true" +command_user="zabbix:zabbix" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net + use mysql postgresql +} + +start_pre() { + checkpath -q -d -m 0750 -o root:zabbix /etc/zabbix + checkpath -q -f -m 0640 -o root:zabbix /etc/zabbix/*.conf +} + +reload() { + /usr/sbin/zabbix_server \ + -c /etc/zabbix/zabbix_server.conf \ + -R config_cache_reload +} diff --git a/net-analyzer/zabbix/files/zabbix-server.service b/net-analyzer/zabbix/files/zabbix-server.service new file mode 100644 index 000000000000..a7bdc0d1e06d --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-server.service @@ -0,0 +1,15 @@ +[Unit] +Description=Zabbix server +Documentation=https://zabbix.com/manuals +After=syslog.target syslog.service network.target network-online.target postgresql.service +After=postgresql-9.6.service postgresql-10.service +After=postgresql-11.service postgresql-12.service + + +[Service] +User=zabbix +Group=zabbix +ExecStart=/usr/sbin/zabbix_server --foreground --config /etc/zabbix/zabbix_server.conf + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/zabbix/files/zabbix-server.tmpfiles b/net-analyzer/zabbix/files/zabbix-server.tmpfiles new file mode 100644 index 000000000000..56471bb42c0a --- /dev/null +++ b/net-analyzer/zabbix/files/zabbix-server.tmpfiles @@ -0,0 +1 @@ +d /run/zabbix 0755 zabbix zabbix - diff --git a/net-analyzer/zabbix/metadata.xml b/net-analyzer/zabbix/metadata.xml new file mode 100644 index 000000000000..3732807092bc --- /dev/null +++ b/net-analyzer/zabbix/metadata.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>fordfrog@gentoo.org</email> + <name>Miroslav Å ulc</name> + </maintainer> + <maintainer type="person"> + <name>Florian Schmaus</name> + <email>flow@gentoo.org</email> + </maintainer> + <longdescription> +ZABBIX is software for monitoring of your applications, network and servers. +ZABBIX supports both polling and trapping techniques to collect data from +monitored hosts. A flexible notification mechanism allows easy and quickly +configure different types of notifications for pre-defined events. + </longdescription> + <use> + <flag name="agent">Enable zabbix agent (for to-be-monitored machines)</flag> + <flag name="agent2">Enable go-based zabbix agent 2 (for to-be-monitored machines)</flag> + <flag name="frontend">Enable zabbix web frontend</flag> + <flag name="ipv6">Turn on support of IPv6</flag> + <flag name="java">Enable Zabbix Java JMX Management Gateway</flag> + <flag name="libxml2">Use libxml2 client library</flag> + <flag name="odbc">Enable Database Monitor and use UnixODBC Library by default</flag> + <flag name="openipmi">Enable openipmi things</flag> + <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> as TLS backend</flag> + <flag name="proxy">Enable proxy support</flag> + <flag name="server">Enable zabbix server</flag> + <flag name="ssh">SSH v2 based checks</flag> + <flag name="static">Build statically linked binaries</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:zabbix:zabbix</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/zabbix/zabbix-6.0.41.ebuild b/net-analyzer/zabbix/zabbix-6.0.41.ebuild new file mode 100644 index 000000000000..1c0a35a05f3e --- /dev/null +++ b/net-analyzer/zabbix/zabbix-6.0.41.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="amd64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl oracle +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql oracle postgres sqlite ) ) + server? ( ^^ ( mysql oracle postgres ) !sqlite ) + static? ( !oracle !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + oracle? ( dev-db/oracle-instantclient[odbc,sdk] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.0.3-system.sw.packages.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use oracle; then + if [ -z "${ORACLE_HOME}" ]; then + eerror + eerror "The environment variable ORACLE_HOME must be set" + eerror "and point to the correct location." + eerror "It looks like you don't have Oracle installed." + eerror + die "Environment variable ORACLE_HOME is not set" + fi + fi + + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with oracle)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use oracle; then + ewarn + ewarn "Support for Oracle database has been dropped from PHP" + ewarn "so to make the web frontend work, you need to install" + ewarn "PECL extension for Oracle database." + ewarn "For details see https://bugs.gentoo.org/928386" + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-6.0.43.ebuild b/net-analyzer/zabbix/zabbix-6.0.43.ebuild new file mode 100644 index 000000000000..cc288b297500 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-6.0.43.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl oracle +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql oracle postgres sqlite ) ) + server? ( ^^ ( mysql oracle postgres ) !sqlite ) + static? ( !oracle !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + oracle? ( dev-db/oracle-instantclient[odbc,sdk] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.0.3-system.sw.packages.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use oracle; then + if [ -z "${ORACLE_HOME}" ]; then + eerror + eerror "The environment variable ORACLE_HOME must be set" + eerror "and point to the correct location." + eerror "It looks like you don't have Oracle installed." + eerror + die "Environment variable ORACLE_HOME is not set" + fi + fi + + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with oracle)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use oracle; then + ewarn + ewarn "Support for Oracle database has been dropped from PHP" + ewarn "so to make the web frontend work, you need to install" + ewarn "PECL extension for Oracle database." + ewarn "For details see https://bugs.gentoo.org/928386" + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-6.0.46.ebuild b/net-analyzer/zabbix/zabbix-6.0.46.ebuild new file mode 100644 index 000000000000..cc288b297500 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-6.0.46.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl oracle +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql oracle postgres sqlite ) ) + server? ( ^^ ( mysql oracle postgres ) !sqlite ) + static? ( !oracle !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + oracle? ( dev-db/oracle-instantclient[odbc,sdk] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.0.3-system.sw.packages.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use oracle; then + if [ -z "${ORACLE_HOME}" ]; then + eerror + eerror "The environment variable ORACLE_HOME must be set" + eerror "and point to the correct location." + eerror "It looks like you don't have Oracle installed." + eerror + die "Environment variable ORACLE_HOME is not set" + fi + fi + + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with oracle)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use oracle; then + ewarn + ewarn "Support for Oracle database has been dropped from PHP" + ewarn "so to make the web frontend work, you need to install" + ewarn "PECL extension for Oracle database." + ewarn "For details see https://bugs.gentoo.org/928386" + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.0.18.ebuild b/net-analyzer/zabbix/zabbix-7.0.18.ebuild new file mode 100644 index 000000000000..a3477712f6ce --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.0.18.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="amd64 arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.0.22.ebuild b/net-analyzer/zabbix/zabbix-7.0.22.ebuild new file mode 100644 index 000000000000..f34a62c18282 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.0.22.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.0.26.ebuild b/net-analyzer/zabbix/zabbix-7.0.26.ebuild new file mode 100644 index 000000000000..f34a62c18282 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.0.26.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.12 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.4.10.ebuild b/net-analyzer/zabbix/zabbix-7.4.10.ebuild new file mode 100644 index 000000000000..b5dd49e9fe43 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.4.10.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.24.10 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.4.2.ebuild b/net-analyzer/zabbix/zabbix-7.4.2.ebuild new file mode 100644 index 000000000000..d4e538aa4bc3 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.4.2.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="amd64 arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.23 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zabbix/zabbix-7.4.6.ebuild b/net-analyzer/zabbix/zabbix-7.4.6.ebuild new file mode 100644 index 000000000000..f29ce6809886 --- /dev/null +++ b/net-analyzer/zabbix/zabbix-7.4.6.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# To create the go modules tarball: +# cd src/go +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw +# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod + +EAPI=8 + +GO_OPTIONAL="yes" +# needed to make webapp-config dep optional +WEBAPP_OPTIONAL="yes" +inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info + +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers" +HOMEPAGE="https://www.zabbix.com/" +MY_P=${P/_/} +MY_PV=${PV/_/} +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz ) +" + +S=${WORKDIR}/${MY_P} + +LICENSE="AGPL-3" +SLOT="0/$(ver_cut 1-2)" +WEBAPP_MANUAL_SLOT="yes" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static" +REQUIRED_USE="|| ( agent agent2 frontend proxy server ) + ?? ( gnutls openssl ) + agent2? ( !gnutls ) + proxy? ( ^^ ( mysql postgres sqlite ) ) + server? ( ^^ ( mysql postgres ) !sqlite ) + static? ( !snmp )" + +COMMON_DEPEND=" + curl? ( net-misc/curl ) + gnutls? ( net-libs/gnutls:0= ) + java? ( >=virtual/jdk-1.8:* ) + ldap? ( + =dev-libs/cyrus-sasl-2* + net-libs/gnutls:= + net-nds/openldap:= + ) + libxml2? ( dev-libs/libxml2:= ) + mysql? ( dev-db/mysql-connector-c:= ) + odbc? ( dev-db/unixODBC ) + openipmi? ( sys-libs/openipmi ) + openssl? ( dev-libs/openssl:=[-bindist(-)] ) + postgres? ( dev-db/postgresql:* ) + proxy? ( + dev-libs/libevent:= + virtual/zlib:= + ) + server? ( + dev-libs/libevent:= + virtual/zlib:= + ) + snmp? ( net-analyzer/net-snmp:= ) + sqlite? ( dev-db/sqlite ) + ssh? ( net-libs/libssh2 ) +" + +RDEPEND="${COMMON_DEPEND} + acct-group/zabbix + acct-user/zabbix + java? ( >=virtual/jre-1.8:* ) + mysql? ( virtual/mysql ) + proxy? ( + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + selinux? ( sec-policy/selinux-zabbix ) + server? ( + app-admin/webapp-config + dev-libs/libpcre2:= + net-analyzer/fping[suid] + ) + frontend? ( + app-admin/webapp-config + dev-lang/php:*[bcmath,ctype,gd,jpeg(+),nls,png(+),session,sockets,sysvipc,truetype,unicode,xml,xmlreader,xmlwriter] + media-libs/gd[png] + virtual/httpd-php:* + mysql? ( dev-lang/php[mysqli] ) + odbc? ( dev-lang/php[odbc] ) + postgres? ( dev-lang/php[postgres] ) + sqlite? ( dev-lang/php[sqlite] ) + ) +" +DEPEND="${COMMON_DEPEND} + static? ( + curl? ( net-misc/curl[static-libs] ) + ldap? ( + =dev-libs/cyrus-sasl-2*[static-libs] + net-libs/gnutls[static-libs] + net-nds/openldap[static-libs] + ) + libxml2? ( dev-libs/libxml2[static-libs] ) + mysql? ( dev-db/mysql-connector-c[static-libs] ) + odbc? ( dev-db/unixODBC[static-libs] ) + postgres? ( dev-db/postgresql:*[static-libs] ) + sqlite? ( dev-db/sqlite[static-libs] ) + ssh? ( net-libs/libssh2 ) + ) +" +BDEPEND=" + virtual/pkgconfig + agent2? ( + >=dev-lang/go-1.23 + app-arch/unzip + ) +" + +# upstream tests fail for agent2 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch" + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch" + "${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch" +) + +ZABBIXJAVA_BASE="opt/zabbix_java" + +pkg_setup() { + if use frontend; then + webapp_pkg_setup + fi + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch". + eautoreconf +} + +src_configure() { + local econf_args=( + --with-libpcre2 + "$(use_enable agent)" + "$(use_enable agent2)" + "$(use_enable ipv6)" + "$(use_enable java)" + "$(use_enable proxy)" + "$(use_enable server)" + "$(use_enable static)" + "$(use_with curl libcurl)" + "$(use_with gnutls)" + "$(use_with ldap)" + "$(use_with libxml2)" + "$(use_with mysql)" + "$(use_with odbc unixodbc)" + "$(use_with openipmi openipmi)" + "$(use_with openssl)" + "$(use_with postgres postgresql)" + "$(use_with snmp net-snmp)" + "$(use_with sqlite sqlite3)" + "$(use_with ssh ssh2)" + ) + + econf ${econf_args[@]} +} + +src_compile() { + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" + fi +} + +src_install() { + local dirs=( + /etc/zabbix + /var/lib/zabbix + /var/lib/zabbix/home + /var/lib/zabbix/scripts + /var/lib/zabbix/alertscripts + /var/lib/zabbix/externalscripts + /var/log/zabbix + ) + + for dir in "${dirs[@]}"; do + keepdir "${dir}" + done + + if use server; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_server.conf + fperms 0640 /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf + + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server + + dosbin src/zabbix_server/zabbix_server + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-server.service + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf + fi + + if use proxy; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_proxy.conf + fperms 0640 /etc/zabbix/zabbix_proxy.conf + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf + + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy + + dosbin src/zabbix_proxy/zabbix_proxy + + insinto /usr/share/zabbix + doins -r "${S}"/database/ + + systemd_dounit "${FILESDIR}"/zabbix-proxy.service + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf + fi + + if use agent; then + insinto /etc/zabbix + doins "${S}"/conf/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd + + dosbin src/zabbix_agent/zabbix_agentd + dobin \ + src/zabbix_sender/zabbix_sender \ + src/zabbix_get/zabbix_get + + systemd_dounit "${FILESDIR}"/zabbix-agentd.service + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf + fi + if use agent2; then + insinto /etc/zabbix + doins "${S}"/src/go/conf/zabbix_agent2.conf + fperms 0640 /etc/zabbix/zabbix_agent2.conf + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf + keepdir /etc/zabbix/zabbix_agent2.d/plugins.d + + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2 + + dosbin src/go/bin/zabbix_agent2 + + systemd_dounit "${FILESDIR}"/zabbix-agent2.service + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf + fi + + fowners root:zabbix /etc/zabbix + fowners zabbix:zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + fperms 0750 \ + /etc/zabbix \ + /var/lib/zabbix \ + /var/lib/zabbix/home \ + /var/lib/zabbix/scripts \ + /var/lib/zabbix/alertscripts \ + /var/lib/zabbix/externalscripts \ + /var/log/zabbix + + dodoc README INSTALL NEWS ChangeLog \ + conf/zabbix_agentd.conf \ + conf/zabbix_proxy.conf \ + conf/zabbix_agentd/userparameter_examples.conf \ + conf/zabbix_agentd/userparameter_mysql.conf \ + conf/zabbix_server.conf + + if use frontend; then + webapp_src_preinst + cp -R ui/* "${D}/${MY_HTDOCSDIR}" + webapp_configfile \ + "${MY_HTDOCSDIR}"/include/db.inc.php \ + "${MY_HTDOCSDIR}"/include/config.inc.php + webapp_src_install + fi + + if use java; then + dodir \ + /${ZABBIXJAVA_BASE} \ + /${ZABBIXJAVA_BASE}/bin \ + /${ZABBIXJAVA_BASE}/lib + keepdir /${ZABBIXJAVA_BASE} + exeinto /${ZABBIXJAVA_BASE}/bin + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar + exeinto /${ZABBIXJAVA_BASE}/lib + doexe \ + src/zabbix_java/lib/logback-classic-1.5.16.jar \ + src/zabbix_java/lib/logback-console.xml \ + src/zabbix_java/lib/logback-core-1.5.16.jar \ + src/zabbix_java/lib/logback.xml \ + src/zabbix_java/lib/android-json-4.3_r3.1.jar \ + src/zabbix_java/lib/slf4j-api-2.0.16.jar + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy + fi +} + +pkg_postinst() { + if use server || use proxy ; then + elog + elog "You may need to configure your database for Zabbix" + elog "if you have not already done so." + elog + + zabbix_homedir=$(egethome zabbix) + if [ -n "${zabbix_homedir}" ] && \ + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then + ewarn + ewarn "The user 'zabbix' should have his homedir changed" + ewarn "to /var/lib/zabbix/home if you want to use" + ewarn "custom alert scripts." + ewarn + ewarn "A real homedir might be needed for configfiles" + ewarn "for custom alert scripts." + ewarn + ewarn "To change the homedir use:" + ewarn " usermod -d /var/lib/zabbix/home zabbix" + ewarn + fi + fi + + if use server; then + tmpfiles_process zabbix-server.conf + + elog + elog "For distributed monitoring you have to run:" + elog + elog "zabbix_server -n <nodeid>" + elog + elog "This will convert database data for use with Node ID" + elog "and also adds a local node." + elog + fi + + if use proxy; then + tmpfiles_process zabbix-proxy.conf + fi + + if use agent; then + tmpfiles_process zabbix-agentd.conf + fi + + if use agent2; then + tmpfiles_process zabbix-agent2.conf + fi + + elog "--" + elog + elog "You may need to add these lines to /etc/services:" + elog + elog "zabbix-agent 10050/tcp Zabbix Agent" + elog "zabbix-agent 10050/udp Zabbix Agent" + elog "zabbix-trapper 10051/tcp Zabbix Trapper" + elog "zabbix-trapper 10051/udp Zabbix Trapper" + elog +} + +pkg_prerm() { + (use frontend || use server) && webapp_pkg_prerm +} diff --git a/net-analyzer/zmap/Manifest b/net-analyzer/zmap/Manifest new file mode 100644 index 000000000000..c0a3c0349505 --- /dev/null +++ b/net-analyzer/zmap/Manifest @@ -0,0 +1 @@ +DIST zmap-4.3.2.tar.gz 211361 BLAKE2B 5b08ba0d45f7ceb877bda874df77000e1d16d6ee2db4eb7427ed7ed12c768b77f88183bfcc445e99c42016b8e2d45c5f1480dd16a96e6bb521e3723bf3646f55 SHA512 38dffacca5a49059e9711bd47a5a660d357adffb9f847b605c9eedbc8d5e3e2bfb5eb13a0fc9f20b48349a3278651c85da301b48741efb3e2ee751bbd4877104 diff --git a/net-analyzer/zmap/files/zmap-4.3.2-cmake.patch b/net-analyzer/zmap/files/zmap-4.3.2-cmake.patch new file mode 100644 index 000000000000..683a5eb4d3ea --- /dev/null +++ b/net-analyzer/zmap/files/zmap-4.3.2-cmake.patch @@ -0,0 +1,12 @@ +Compat with cmake-4 +https://github.com/zmap/zmap/pull/933.patch +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baa524a..60e3839 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR) + project(ZMAP C) + set(ZMAP_VERSION DEVELOPMENT) # Change DEVELOPMENT to version number for release + diff --git a/net-analyzer/zmap/files/zmap-4.3.2-pkgconfig.patch b/net-analyzer/zmap/files/zmap-4.3.2-pkgconfig.patch new file mode 100644 index 000000000000..65388cc4d5c3 --- /dev/null +++ b/net-analyzer/zmap/files/zmap-4.3.2-pkgconfig.patch @@ -0,0 +1,18 @@ +use find_package to prevent failure without native-symlinks +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baa524a..60e3839 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,11 +85,7 @@ if (NOT FOUND_LIBUNISTRING) + message(FATAL_ERROR "Missing dependency: did not find libunistring, please install libunistring or equivalent. More details in INSTALL.md") + endif() + +-find_program(FOUND_PKGCONFIG HINTS /usr/include/ NAMES pkg-config dev-util/pkgconf) +-if (NOT FOUND_PKGCONFIG) +- message(FATAL_ERROR "Missing dependency: did not find pkg-config, please install pkg-config or equivalent. More details in INSTALL.md") +-endif() +- ++find_package(PkgConfig REQUIRED) + + if(ENABLE_DEVELOPMENT) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb") diff --git a/net-analyzer/zmap/metadata.xml b/net-analyzer/zmap/metadata.xml new file mode 100644 index 000000000000..dc53bc79095b --- /dev/null +++ b/net-analyzer/zmap/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> +ZMap is an open-source network scanner that enables researchers to easily +perform Internet-wide network studies. With a single machine and a well +provisioned network uplink, ZMap is capable of performing a complete scan of +the IPv4 address space in under 45 minutes, approaching the theoretical limit +of gigabit Ethernet. + +ZMap can be used to study protocol adoption over time, monitor service +availability, and help us better understand large systems distributed +across the Internet. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/net-analyzer/zmap/zmap-4.3.2.ebuild b/net-analyzer/zmap/zmap-4.3.2.ebuild new file mode 100644 index 000000000000..230b3ac9b3ea --- /dev/null +++ b/net-analyzer/zmap/zmap-4.3.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake fcaps + +DESCRIPTION="Fast network scanner designed for Internet-wide network surveys" +HOMEPAGE="https://zmap.io/" +SRC_URI="https://github.com/zmap/zmap/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm ~arm64 x86" +IUSE="cpu_flags_x86_aes" + +RDEPEND=" + dev-libs/gmp:= + dev-libs/json-c:= + dev-libs/judy + dev-libs/libunistring:= + net-libs/libpcap +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/lex + dev-util/byacc + dev-util/gengetopt + virtual/pkgconfig +" + +FILECAPS=( cap_net_raw=ep usr/sbin/zmap ) + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.2-pkgconfig.patch + # Merged. To be removed at next version. + "${FILESDIR}"/${PN}-4.3.2-cmake.patch +) + +DOCS=( AUTHORS CHANGELOG.md README.md examples ) + +src_configure() { + local mycmakeargs=( + -DENABLE_DEVELOPMENT=OFF + -DFORCE_CONF_INSTALL=ON + -DWITH_AES_HW=$(usex cpu_flags_x86_aes) + # no module in ::gentoo for now + -DWITH_NETMAP=OFF + -DWITH_WERROR=OFF + ) + + cmake_src_configure +} |
