diff options
author | Stuart Cardall <developer@it-offshore.co.uk> | 2017-07-02 02:08:04 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2017-07-13 23:30:55 +0000 |
commit | 0719889eb4798c3fd096ab991e38d125b2e77347 (patch) | |
tree | d3abc5138377c33c91da3f46ae745dcc7acf890c /community/tinyssh | |
parent | 1a437ad05a75197edcbdc57bf1b03ffbd1c3d326 (diff) | |
download | aports-0719889eb4798c3fd096ab991e38d125b2e77347.tar.bz2 aports-0719889eb4798c3fd096ab991e38d125b2e77347.tar.xz |
community/tinyssh: modernise initd / use supervise-daemon
Diffstat (limited to 'community/tinyssh')
-rw-r--r-- | community/tinyssh/APKBUILD | 6 | ||||
-rw-r--r-- | community/tinyssh/tinyssh.confd | 4 | ||||
-rw-r--r-- | community/tinyssh/tinyssh.initd | 58 |
3 files changed, 39 insertions, 29 deletions
diff --git a/community/tinyssh/APKBUILD b/community/tinyssh/APKBUILD index 1cc0fa221b..53984cb535 100644 --- a/community/tinyssh/APKBUILD +++ b/community/tinyssh/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Stuart Cardall <developer@it-offshore.co.uk> pkgname=tinyssh pkgver=20161101 -pkgrel=0 +pkgrel=1 pkgdesc="Small SSH server using NaCl / TweetNaCl (no dependency on OpenSSL)" url="http://tinyssh.org/" arch="all" @@ -53,5 +53,5 @@ EOF } sha512sums="684aac5bf8f8713582bc4a0459680f7b9f32ea6bfa7896c2e48b8431ff5e1f4cf067d055986ecfa988edd32cea13694c1621a86d0b9652fce45954284cf1eafd tinyssh-20161101.tar.gz -d10f995c6687e706453e51d06b3466427d476036efdbd86db2f9330281e46049bf2e3698208524b3f70cdbd30373f5bf46c7164dd626d22b3fa9a75ca5d8d478 tinyssh.initd -4513bd0d43ef0825fbd77365a8a7adefcd99211102df76003becf7e3a09a47ad9bbd16a68c3fadfb7868e0562f8d42a26106b7582cb70490a7e52a7d1e6110e9 tinyssh.confd" +4bba2c283e1c266734d26647b4c400c2fce258cd9957b41f637a5e875ce995b4cdef9eeea147178174facc311fc6e23a6ebcf10b05fb75222582605dc9b1fde5 tinyssh.initd +7c6282a6ae972d83d3e624530cac4958adee1e2313d0e44aff38c94bde1a3f549a536ec80e594d44c29a6a981919dd30322e8d8511626fdb6493c98587047392 tinyssh.confd" diff --git a/community/tinyssh/tinyssh.confd b/community/tinyssh/tinyssh.confd index d7ba22a5ce..5bf9ff9023 100644 --- a/community/tinyssh/tinyssh.confd +++ b/community/tinyssh/tinyssh.confd @@ -3,6 +3,8 @@ # Specify daemon options here: # OPTIONS="-l -v" -# override config directory / port here: +# override config directory / ip / port here: # CONFDIR=/etc/tinyssh # PORT=22 +# IP=0.0.0.0 + diff --git a/community/tinyssh/tinyssh.initd b/community/tinyssh/tinyssh.initd index 364ffb21c5..5671855176 100644 --- a/community/tinyssh/tinyssh.initd +++ b/community/tinyssh/tinyssh.initd @@ -1,43 +1,51 @@ #!/sbin/openrc-run # Alpine Linux init.d for TinySSH -# Copyright 2015 Stuart Cardall (developer@it-offshore.co.uk) +# Copyright 2017 Stuart Cardall (https://github.com/itoffshore) # Distributed under the terms of the GNU General Public License, v2 or later # -name=tinysshd -daemon=/usr/sbin/$name +supervisor=supervise-daemon +description="Small SSH server using NaCl (no dependency on OpenSSL)" + +nice="0" +pidfile="/run/tinysshd.sd.pid" +supervise_daemon_args="" + +daemon=/usr/sbin/tinysshd keygen=$daemon-makekey + CONFDIR=${CONFDIR:-/etc/tinyssh} keydir=${CONFDIR}/sshkeys OPTIONS=${OPTIONS:-\-v -l} PORT=${PORT:-22} -pidfile=/var/run/$name.pid -server_opts="-HRDl0 0.0.0.0 ${PORT} $daemon ${OPTIONS} $keydir" +IP=${IP:-0.0.0.0} + +command="tcpserver" +command_args="-HRDl0 ${IP} ${PORT} $daemon ${OPTIONS} $keydir" +proxy_env=/etc/profile.d/proxy.sh depend() { - use net - after logger firewall + use net + after logger firewall +} + +in_contr() { + grep "container=" /proc/1/environ } -checkconfig() { +start_pre() { checkpath --directory ${CONFDIR} eval $keygen $keydir 2>/dev/null - # tinyssh also runs from inetd without tcpserver - if [ ! -f /usr/bin/tcpserver ]; then - apk add --quiet ucspi-tcp - fi -} -start() { - checkconfig - ebegin "Starting ${name}" - start-stop-daemon --start --make-pidfile --background --pidfile $pidfile \ - --exec tcpserver -- $server_opts - eend $? -} + if [ -z "$(in_contr)" ]; then + supervise_daemon_args="$supervise_daemon_args -N $nice" + fi -stop() { - ebegin "Stopping ${name}" - start-stop-daemon --stop --quiet \ - --pidfile $pidfile - eend $? + # tinyssh also runs from inetd without tcpserver + if [ ! -x /usr/bin/tcpserver ]; then + # openrc does not use proxy environment by default + if [ -f "$proxy_env" ]; then + . $proxy_env + fi + apk add ucspi-tcp6 + fi } |