public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrew Ammerlaan" <andrewammerlaan@riseup.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: net-misc/tinyssh/, net-misc/tinyssh/files/
Date: Sun,  5 Apr 2020 11:01:15 +0000 (UTC)	[thread overview]
Message-ID: <1586037635.9557f9c0c7051fde4e28bf59ee8a238175847ee1.andrewammerlaan@gentoo> (raw)

commit:     9557f9c0c7051fde4e28bf59ee8a238175847ee1
Author:     Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me>
AuthorDate: Sat Apr  4 22:00:35 2020 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Sat Apr  4 22:00:35 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9557f9c0

net-misc/tinyssh: Import from ::lanodanOverlay

Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me>

 net-misc/tinyssh/Manifest                      |  1 +
 net-misc/tinyssh/files/tinyssh-makekey.service |  8 ++++
 net-misc/tinyssh/files/tinyssh.confd           |  7 +++
 net-misc/tinyssh/files/tinyssh.initd           | 30 ++++++++++++
 net-misc/tinyssh/files/tinyssh.service         |  9 ++++
 net-misc/tinyssh/files/tinyssh.socket          | 13 ++++++
 net-misc/tinyssh/metadata.xml                  | 19 ++++++++
 net-misc/tinyssh/tinyssh-20190101.ebuild       | 65 ++++++++++++++++++++++++++
 8 files changed, 152 insertions(+)

diff --git a/net-misc/tinyssh/Manifest b/net-misc/tinyssh/Manifest
new file mode 100644
index 0000000..b697c82
--- /dev/null
+++ b/net-misc/tinyssh/Manifest
@@ -0,0 +1 @@
+DIST tinyssh-20190101.tar.gz 244848 BLAKE2B a115bca82db020970a1cd8dd27f65f0d586f291fdcbcd786802babaa82befddd39ec8651dd4d6ebc3503e8c4e5903a335a6b14dc2957bae5519e4a7dee6fd495 SHA512 bf3829a71c29e8b0d5c2a145be9dfaf05efb1b98932f34f19f76e07871da4be10022bdde4c57ca49557b69931077b451bc2efbeab38d8ef24151fb73990f1012

diff --git a/net-misc/tinyssh/files/tinyssh-makekey.service b/net-misc/tinyssh/files/tinyssh-makekey.service
new file mode 100644
index 0000000..841a516
--- /dev/null
+++ b/net-misc/tinyssh/files/tinyssh-makekey.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=TinySSH Key Generation
+ConditionPathIsDirectory=!/etc/tinyssh/keys
+
+[Service]
+ExecStart=/usr/sbin/tinysshd-makekey /etc/tinyssh/keys
+Type=oneshot
+RemainAfterExit=true

diff --git a/net-misc/tinyssh/files/tinyssh.confd b/net-misc/tinyssh/files/tinyssh.confd
new file mode 100644
index 0000000..d1aefde
--- /dev/null
+++ b/net-misc/tinyssh/files/tinyssh.confd
@@ -0,0 +1,7 @@
+# TinySSH config file for /etc/init.d/tinyssh
+
+#TINYSSH_PORT="22"
+#TINYSSH_IP="0.0.0.0"
+#TINYSSH_CONFDIR="/etc/tinyssh"
+#TINYSSH_KEYDIR="${TINYSSH_CONFDIR}/keys"
+#TINYSSH_OPTS="-l -v"

diff --git a/net-misc/tinyssh/files/tinyssh.initd b/net-misc/tinyssh/files/tinyssh.initd
new file mode 100644
index 0000000..2fc28e5
--- /dev/null
+++ b/net-misc/tinyssh/files/tinyssh.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+TINYSSH_CONFDIR="${TINYSSH_CONFDIR:-/etc/tinyssh}"
+TINYSSH_KEYDIR="${TINYSSH_KEYDIR:-${TINYSSH_CONFDIR}/keys}"
+
+TINYSSHD="/usr/sbin/tinysshd"
+MAKEKEY="${TINYSSHD}-makekey"
+PRINTKEY="/usr/bin/tinysshd-printkey"
+
+command="/usr/bin/tcpserver"
+command_args="-HRDl0 ${TINYSSH_IP:-0.0.0.0} ${TINYSSH_PORT:-22}
+	${TINYSSHD} ${TINYSSH_OPTS:--l -v} ${TINYSSH_KEYDIR}"
+command_background=yes
+pidfile="/run/${RC_SVCNAME}.pid"
+start_stop_daemon_args="${SSD_OPTS}"
+
+depend() {
+	use net
+}
+
+start_pre() {
+	if [ "${RC_CMD}" != "restart" ]; then
+		checkpath -d "${TINYSSH_CONFDIR}"
+		if ! ${PRINTKEY} "${TINYSSH_KEYDIR}" >/dev/null 2>&1; then
+			${MAKEKEY} "${TINYSSH_KEYDIR}" || return 1
+		fi
+	fi
+}

diff --git a/net-misc/tinyssh/files/tinyssh.service b/net-misc/tinyssh/files/tinyssh.service
new file mode 100644
index 0000000..f0fe93b
--- /dev/null
+++ b/net-misc/tinyssh/files/tinyssh.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=TinySSH Per-Connection Daemon
+Documentation=https://tinyssh.org
+After=tinyssh-makekey.service
+
+[Service]
+ExecStart=/usr/sbin/tinysshd /etc/tinyssh/keys
+StandardInput=socket
+StandardError=journal

diff --git a/net-misc/tinyssh/files/tinyssh.socket b/net-misc/tinyssh/files/tinyssh.socket
new file mode 100644
index 0000000..9ca2b16
--- /dev/null
+++ b/net-misc/tinyssh/files/tinyssh.socket
@@ -0,0 +1,13 @@
+[Unit]
+Description=TinySSH service (socket-activated)
+Documentation=https://tinyssh.org
+Wants=tinyssh-makekey.service
+
+[Socket]
+ListenStream=%i
+Accept=true
+KeepAlive=true
+IPTOS=low-delay
+
+[Install]
+WantedBy=sockets.target

diff --git a/net-misc/tinyssh/metadata.xml b/net-misc/tinyssh/metadata.xml
new file mode 100644
index 0000000..bf058f0
--- /dev/null
+++ b/net-misc/tinyssh/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>contact@hacktivis.me</email>
+		<name>Haelwenn (lanodan) Monnier</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">janmojzis/tinyssh</remote-id>
+		<bugs-to>https://github.com/janmojzis/tinyssh/issues</bugs-to>
+	</upstream>
+	<longdescription lang="en">
+		TinySSH is a minimalistic and secure SSH server which
+		implements only a subset of SSHv2 features.
+	</longdescription>
+	<use>
+		<flag name="sodium">Use <pkg>dev-libs/libsodium</pkg> for cryptography</flag>
+	</use>
+</pkgmetadata>

diff --git a/net-misc/tinyssh/tinyssh-20190101.ebuild b/net-misc/tinyssh/tinyssh-20190101.ebuild
new file mode 100644
index 0000000..1ad54dd
--- /dev/null
+++ b/net-misc/tinyssh/tinyssh-20190101.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="A small SSH server with state-of-the-art cryptography"
+HOMEPAGE="https://tinyssh.org"
+SRC_URI="https://github.com/janmojzis/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="+sodium"
+
+DEPEND="
+	sodium? ( dev-libs/libsodium )
+"
+RDEPEND="
+	${DEPEND}
+	sys-apps/ucspi-tcp
+"
+
+src_prepare() {
+	# Leave optimization level to user CFLAGS
+	sed -i 's/-Os -fomit-frame-pointer -funroll-loops//g' ./conf-cc || die
+
+	# Use make-tinysshcc.sh script, which has no tests and doesn't execute
+	# binaries. See https://github.com/janmojzis/tinyssh/issues/2
+	sed -i 's/tinyssh/tinysshcc/g' ./Makefile || die
+
+	default
+}
+
+src_compile() {
+	if use sodium
+	then
+		emake \
+			LIBS="-lsodium" \
+			CFLAGS="$CFLAGS -I/usr/include/sodium" \
+			LDFLAGS="-L/usr/lib"
+	else
+		emake
+	fi
+}
+
+src_install() {
+	dosbin build/bin/tinysshd{,-makekey}
+	dobin build/bin/tinysshd-printkey
+	doman man/*
+
+	newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+	newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+	systemd_newunit "${FILESDIR}/${PN}.service" "${PN}@.service"
+	systemd_newunit "${FILESDIR}/${PN}.socket" "${PN}@.socket"
+	systemd_dounit "${FILESDIR}/${PN}-makekey.service"
+}
+
+pkg_postinst() {
+	einfo "TinySSH is in beta stage, and ready for production use."
+	einfo "See https://tinyssh.org for more information."
+}


                 reply	other threads:[~2020-04-05 11:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1586037635.9557f9c0c7051fde4e28bf59ee8a238175847ee1.andrewammerlaan@gentoo \
    --to=andrewammerlaan@riseup.net \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox