net-misc/endlessh: bump to 1.0
authorGeorgy Yakovlev <gyakovlev@gentoo.org>
Wed, 1 May 2019 18:51:19 +0000 (11:51 -0700)
committerGeorgy Yakovlev <gyakovlev@gentoo.org>
Wed, 1 May 2019 19:15:49 +0000 (12:15 -0700)
also bump openrc scripts with latest changes
remove tools useflag and python deps
fix logrotate to do copytruncate and don't send HUP
dump connection stats summary before rotating logs

Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
net-misc/endlessh/Manifest
net-misc/endlessh/endlessh-1.0.ebuild [new file with mode: 0644]
net-misc/endlessh/files/endlessh.confd-r1 [new file with mode: 0644]
net-misc/endlessh/files/endlessh.initd-r1 [new file with mode: 0755]
net-misc/endlessh/files/logrotated-r1 [new file with mode: 0644]

index 997e300902ac3917c2320863a2ec2649edb9e4e1..a6980673bc410490b8fd1768b1ae54439b8d8f51 100644 (file)
@@ -1 +1,2 @@
 DIST endlessh-0.1.tar.gz 8566 BLAKE2B e8fefd6ef80d26c25f57ffe1cef502af05322e348d63ca17c0bb626e35d5c1d35cb98384b35c86c579f2876573f4c13468605c3f44325a48d19e27c499657853 SHA512 0d11c82a708a26bd77ca85f7f3bd0eda2807ded9de88e3e518da09a38b3e94fc2658ea6f210e4f1493d38ca5948968c5488c8f2f09ff2adf22b799622b4952b8
+DIST endlessh-1.0.tar.gz 12258 BLAKE2B add6e24568cc94b244aa52bb484d1516210bfaa5a82440e090a89a94d50fbd4805ae004f917af56a7ad82a6502ae97c059d3f1c24b7c3e13ad1bd5a04bcf1c3e SHA512 a7e4e6ac5dc5e9b6e479ac3323b6a3ecec398ea074970de7794c93bd7a1a77c5662bdfa5752217fe552db1b3dbb9f400183114d7399c5a019637cb40756b46a8
diff --git a/net-misc/endlessh/endlessh-1.0.ebuild b/net-misc/endlessh/endlessh-1.0.ebuild
new file mode 100644 (file)
index 0000000..e0a8408
--- /dev/null
@@ -0,0 +1,64 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd toolchain-funcs
+
+DESCRIPTION="SSH tarpit that slowly sends and endless banner"
+HOMEPAGE="https://github.com/skeeto/endlessh"
+
+if [ ${PV} == "9999" ] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/skeeto/${PN}.git"
+else
+       SRC_URI="https://github.com/skeeto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Unlicense"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+BDEPEND=""
+
+src_prepare() {
+       default
+
+       tc-export CC
+
+       sed -i \
+               -e 's/^CC/CC?/' \
+               -e 's/^CFLAGS  =/CFLAGS  +=/' \
+               -e 's/ -Os//' \
+               -e 's/^LDFLAGS/LDFLAGS?/' \
+               -e 's/^PREFIX/PREFIX?/' \
+               Makefile || die
+
+       sed -i -e "/^ExecStart=/ s:=/opt/endlessh:=${EPREFIX}/usr/bin:" \
+               util/endlessh.service || die
+}
+
+src_install() {
+       emake DESTDIR="${D}" PREFIX=/usr install
+
+       einstalldocs
+
+       newinitd "${FILESDIR}"/endlessh.initd-r1 endlessh
+       newconfd "${FILESDIR}"/endlessh.confd-r1 endlessh
+
+       systemd_dounit util/endlessh.service
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/logrotated-r1" endlessh
+
+       insinto /usr/share/"${PN}"
+       doins util/{pivot.py,schema.sql}
+}
+
+pkg_postinst() {
+       elog "Log parsing script installed to ${EPREFIX}/usr/share/${PN}"
+       elog "Install dev-python/pyrfc3339 if you are going to use it"
+}
diff --git a/net-misc/endlessh/files/endlessh.confd-r1 b/net-misc/endlessh/files/endlessh.confd-r1
new file mode 100644 (file)
index 0000000..13ba0ef
--- /dev/null
@@ -0,0 +1,34 @@
+# /etc/conf.d/endlessh: config file for /etc/init.d/endlessh
+#
+#ENDLESSH_ARGS=""
+# Usage: [-vh] [-46] [-d MS] [-f CONFIG] [-l LEN] [-m LIMIT] [-p PORT]
+#   -4        Bind to IPv4 only
+#   -6        Bind to IPv6 only
+#   -d INT    Message millisecond delay [10000]
+#   -f        Set and load config file [/etc/endlessh/config]
+#   -h        Print this help message and exit
+#   -l INT    Maximum banner line length (3-255) [32]
+#   -m INT    Maximum number of clients [4096]
+#   -p INT    Listening port [2222]
+#   -v        Print diagnostics to standard output (repeatable)
+#   -V        Print version information and exit
+
+# EXAMPLE 1: listen on port 22, log all queries and errors in very verbose mode
+#ENDLESSH_ARGS="-p 22 -vv"
+
+# EXAMPLE 2: load settings from config file
+#ENDLESSH_ARGS="-f /etc/endlessh/config"
+
+# EXAMPLE 3: load settings from config file, but override port
+#ENDLESSH_ARGS="-f /etc/endlessh/config -p 22"
+
+
+# LOGGING: is disabled by default, enable this to actually redirect messages
+
+# plain file (preferred), change logrotate file as well if you change this.
+#output_log=/var/log/"${RC_SVCNAME}.log"
+#error_log=/var/log/"${RC_SVCNAME}.error.log"
+
+# syslog support via LOGGER(1). Note this spawns logger processes per io stream
+#output_logger="logger -p daemon.none --"
+#error_logger="logger -p daemon.err --"
diff --git a/net-misc/endlessh/files/endlessh.initd-r1 b/net-misc/endlessh/files/endlessh.initd-r1
new file mode 100755 (executable)
index 0000000..ea8d830
--- /dev/null
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+       after bootmisc
+       need localmount
+       use clock logger net
+}
+
+description="Starts endlessh tarpit"
+
+command="/usr/bin/endlessh"
+command_args="${ENDLESSH_ARGS}"
+command_background="true"
+extra_started_commands="dumpstats reload"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+dumpstats() {
+       ebegin "Dumping connection stats of ${RC_SVCNAME} to log"
+       start-stop-daemon --signal SIGUSR1 --pidfile "${pidfile}"
+       eend $?
+}
+
+reload() {
+       ebegin "Reloading ${RC_SVCNAME} configuration"
+       start-stop-daemon --signal HUP --pidfile "${pidfile}"
+       eend $?
+}
diff --git a/net-misc/endlessh/files/logrotated-r1 b/net-misc/endlessh/files/logrotated-r1
new file mode 100644 (file)
index 0000000..896e89e
--- /dev/null
@@ -0,0 +1,9 @@
+/var/log/endlessh.log /var/log/endlessh.error.log {
+       copytruncate
+       missingok
+       notifempty
+       sharedscripts
+       prerotate
+               /etc/init.d/endlessh --ifstarted --quiet dumpstats
+       endscript
+}