diff options
author | Omar Vega Ramos <ovruni@gnu.org.pe> | 2013-02-18 17:31:52 -0500 |
---|---|---|
committer | Omar Vega Ramos <ovruni@gnu.org.pe> | 2013-02-18 17:31:52 -0500 |
commit | 0be78807ac1a050c88f847ef0e36f5cd4d9b5725 (patch) | |
tree | ba2266308391192112ed3a843f144a2d33d59d97 /pcr/dropbear/dropbear-rc.d | |
parent | 4d8ea59baa9963ebbca29b35c9a7ceb914119376 (diff) | |
download | abslibre-0be78807ac1a050c88f847ef0e36f5cd4d9b5725.tar.gz abslibre-0be78807ac1a050c88f847ef0e36f5cd4d9b5725.tar.bz2 abslibre-0be78807ac1a050c88f847ef0e36f5cd4d9b5725.zip |
Adding packages to pcr
Diffstat (limited to 'pcr/dropbear/dropbear-rc.d')
-rw-r--r-- | pcr/dropbear/dropbear-rc.d | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/pcr/dropbear/dropbear-rc.d b/pcr/dropbear/dropbear-rc.d new file mode 100644 index 000000000..011880b3b --- /dev/null +++ b/pcr/dropbear/dropbear-rc.d @@ -0,0 +1,88 @@ +#!/bin/bash +daemon_name=dropbear + +. /etc/rc.conf +. /etc/rc.d/functions + +. /etc/conf.d/$daemon_name + +for port in $DROPBEAR_PORT; do + daemon_args="$daemon_args -p $port" +done + +[ ! -z $DROPBEAR_BANNER ] && daemon_args="$daemon_args -b $DROPBEAR_BANNER" +[ ! -z $DROPBEAR_DSSKEY ] && daemon_args="$daemon_args -d $DROPBEAR_DSSKEY" +[ ! -z $DROPBEAR_RSAKEY ] && daemon_args="$daemon_args -r $DROPBEAR_RSAKEY" +[ ! -z $DROPBEAR_EXTRA_ARGS ] && daemon_args="$daemon_args $DROPBEAR_EXTRA_ARGS" +[ -z $DROPBEAR_PIDFILE ] && DROPBEAR_PIDFILE="/var/run/$daemon_name.pid" +daemon_args="$daemon_args -P $DROPBEAR_PIDFILE" + +get_pid() { + PID='' + if [ -r $DROPBEAR_PIDFILE -a -f $DROPBEAR_PIDFILE -a -w $DROPBEAR_PIDFILE ]; then + if kill -0 "`< $DROPBEAR_PIDFILE`" &>/dev/null; then # kill -0 == "exit code indicates if a signal may be sent" + PID="`< $DROPBEAR_PIDFILE`" + else # may not send signals to dropbear, because it's probably not running => remove pidfile + rm -f $DROPBEAR_PIDFILE + fi + fi +} + +case "$1" in + start) + stat_busy "Starting $daemon_name" + get_pid + if [ -z "$PID" ]; then + printhl "Checking for hostkeys" + if [ ! -z $DROPBEAR_DSSKEY ]; then + [ ! -f $DROPBEAR_DSSKEY ] && dropbearkey -t dss -f $DROPBEAR_DSSKEY + fi; + if [ ! -z $DROPBEAR_RSAKEY ]; then + [ ! -f $DROPBEAR_RSAKEY ] && dropbearkey -t rsa -f $DROPBEAR_RSAKEY + fi; + + $daemon_name $daemon_args # Make it Go Joe! + if [ $? -gt 0 ]; then + stat_die + else + add_daemon $daemon_name + stat_done + fi + else + stat_die + fi + ;; + + stop) + stat_busy "Stopping $daemon_name" + + get_pid + [ ! -z "$PID" ] && kill $PID &> /dev/null # Be dead (please), I say! + if [ $? -gt 0 ]; then + stat_die + else + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + fingerprint) + stat_busy "Fingerprinting $daemon_name hostkeys" + if [ ! -z $DROPBEAR_DSSKEY ]; then + printhl "DSS/DSA Key $(dropbearkey -y -f $DROPBEAR_DSSKEY | grep Fingerprint)" + fi; + if [ ! -z $DROPBEAR_RSAKEY ]; then + printhl "RSA Key $(dropbearkey -y -f $DROPBEAR_RSAKEY | grep Fingerprint)" + fi; + ;; + + *) + echo "usage: $0 {start|stop|restart|fingerprint}" +esac +exit 0 |