Mercurial > vanilla
changeset 1175:944780161c16
network/dropbear: initial import, closes #1180
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 22 Oct 2019 20:30:00 +0200 |
parents | 7fd00429dcae |
children | e45b5d1810ab |
files | network/dropbear/dropbear network/dropbear/dropbear.sh network/dropbear/dropbear.sha1 |
diffstat | 3 files changed, 187 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/network/dropbear/dropbear Tue Oct 22 20:30:00 2019 +0200 @@ -0,0 +1,90 @@ +#!/bin/busybox sh +# +# /etc/rc.d/dropbear -- run control script for dropbear +# +# Copyright (c) 2019 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or 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 THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR 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. +# + +if [ -f /etc/rc.conf ]; then + . /etc/rc.conf +fi + +: ${DROPBEAR_CMD:=/bin/dropbear} +: ${DROPBEAR_ARGS:=} +: ${DROPBEAR_PID:=/var/run/dropbear.pid} + +dropbear_start() +{ + mkdir -p /etc/dropbear + + if [ ! -e /etc/dropbear/dropbear_dss_host_key ] ; then + /bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key + fi + if [ ! -e /etc/dropbear/dropbear_rsa_host_key ] ; then + /bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key + fi + if [ ! -e /etc/dropbear/dropbear_ecdsa_host_key ] ; then + /bin/dropbearkey -t ecdsa -f /etc/dropbear/dropbear_ecdsa_host_key + fi + + if [ -s $DROPBEAR_PID ]; then + echo "dropbear is already running with pid: $(cat $DROPBEAR_PID)" + else + echo "Starting dropbear: $DROPBEAR_CMD $DROPBEAR_ARGS" + $DROPBEAR_CMD $DROPBEAR_ARGS + fi +} + +dropbear_status() +{ + if [ -s $DROPBEAR_PID ]; then + echo "dropbear is running with pid: $(cat $DROPBEAR_PID)" + else + echo "dropbear is not running" + fi +} + +dropbear_stop() +{ + if [ -s $DROPBEAR_PID ]; then + echo "Stopping dropbear." + kill $(cat $DROPBEAR_PID) + fi +} + +dropbear_restart() +{ + dropbear_stop + sleep 3 + dropbear_start +} + +case $1 in +start) + dropbear_start + ;; +status) + dropbear_status + ;; +stop) + dropbear_stop + ;; +restart) + dropbear_restart + ;; +*) + echo "usage: $(basename $0) restart|start|status|stop" + ;; +esac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/network/dropbear/dropbear.sh Tue Oct 22 20:30:00 2019 +0200 @@ -0,0 +1,96 @@ +#!/bin/sh +# +# Copyright (c) 2019 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or 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 THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR 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. +# + +PKGNAME=dropbear +PKGVERSION=2019.78 +PKGREVISION=1 +PKGLICENSE="MIT" +PKGSUMMARY="a smallish SSH server and client" +PKGWWW="http://matt.ucc.asn.au/dropbear/dropbear.html" +PKGDOWNLOAD="http://matt.ucc.asn.au/$PKGNAME/releases/$PKGNAME-$PKGVERSION.tar.bz2" +PKGDEPENDS="" +PKGOPTIONS="PAM SHADOW SYSLOG ZLIB" +PKGPROTECT="etc/rc.d/dropbear" + +: ${CHOST:=$(uname -m)-linux-musl} +: ${CBUILD:=$(uname -m)-linux-musl} +: ${CC:=clang} +: ${CFLAGS:=-O2} +: ${CXX:=clang++} +: ${CXXFLAGS:=-O2} +: ${LDFLAGS:=} +: ${LIBS:=} +: ${PAM:=no} +: ${SHADOW:=yes} +: ${SYSLOG:=yes} +: ${ZLIB:=yes} + +if [ "$PAM" = "yes" ]; then + PKGDEPENDS="linux-pam $PKGDEPENDS" + with_pam="--enable-pam" +else + with_pam="--disable-pam" +fi + +if [ "$SHADOW" = "yes" ]; then + PKGDEPENDS="shadow $PKGDEPENDS" + with_shadow="--enable-shadow" +else + with_shadow="--disable-shadow" +fi + +if [ "$SYSLOG" = "yes" ]; then + with_syslog="--enable-syslog" +else + with_syslog="--disable-syslog" +fi + +if [ "$ZLIB" = "yes" ]; then + PKGDEPENDS="zlib $PKGDEPENDS" + with_zlib="--enable-zlib" +else + with_zlib="--disable-zlib" +fi + +build() +{ + rm -rf $PKGNAME-$PKGVERSION + tar xvf $PKGNAME-$PKGVERSION.tar.bz2 + cd $PKGNAME-$PKGVERSION + + CC="$CC" \ + CFLAGS="$CFLAGS" \ + CXX="$CXX" \ + CXXFLAGS="$CXXFLAGS" \ + LDFLAGS="$LDFLAGS" \ + LIBS="$LIBS" \ + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix= \ + --sbindir=/bin \ + $with_pam \ + $with_shadow \ + $with_syslog \ + $with_zlib + make + make install DESTDIR=$DESTDIR + install -Dm0644 ../dropbear $DESTDIR/etc/rc.d/dropbear + + cd .. + rm -rf $PKGNAME-$PKGVERSION +}