summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/dropbear/dropbear/init
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-core/dropbear/dropbear/init
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/dropbear/dropbear/init')
-rwxr-xr-xmeta/recipes-core/dropbear/dropbear/init106
1 files changed, 106 insertions, 0 deletions
diff --git a/meta/recipes-core/dropbear/dropbear/init b/meta/recipes-core/dropbear/dropbear/init
new file mode 100755
index 0000000000..e882bae689
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/init
@@ -0,0 +1,106 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: sshd
4# Required-Start: $remote_fs $syslog $networking
5# Required-Stop: $remote_fs $syslog
6# Default-Start: 2 3 4 5
7# Default-Stop: 1
8# Short-Description: Dropbear Secure Shell server
9### END INIT INFO
10#
11# Do not configure this file. Edit /etc/default/dropbear instead!
12#
13
14PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15DAEMON=/usr/sbin/dropbear
16NAME=dropbear
17DESC="Dropbear SSH server"
18
19DROPBEAR_PORT=22
20DROPBEAR_EXTRA_ARGS=
21NO_START=0
22
23set -e
24
25test ! -r /etc/default/dropbear || . /etc/default/dropbear
26test "$NO_START" = "0" || exit 0
27test -x "$DAEMON" || exit 0
28test ! -h /var/service/dropbear || exit 0
29
30readonly_rootfs=0
31for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in FLAGS) print FLAGS[f] }' </proc/mounts`; do
32 case $flag in
33 ro)
34 readonly_rootfs=1
35 ;;
36 esac
37done
38
39if [ $readonly_rootfs = "1" ]; then
40 mkdir -p /var/lib/dropbear
41 DROPBEAR_RSAKEY_DEFAULT="/var/lib/dropbear/dropbear_rsa_host_key"
42 DROPBEAR_DSSKEY_DEFAULT="/var/lib/dropbear/dropbear_dss_host_key"
43else
44 DROPBEAR_RSAKEY_DEFAULT="/etc/dropbear/dropbear_rsa_host_key"
45 DROPBEAR_DSSKEY_DEFAULT="/etc/dropbear/dropbear_dss_host_key"
46fi
47
48test -z "$DROPBEAR_BANNER" || \
49 DROPBEAR_EXTRA_ARGS="$DROPBEAR_EXTRA_ARGS -b $DROPBEAR_BANNER"
50test -n "$DROPBEAR_RSAKEY" || \
51 DROPBEAR_RSAKEY=$DROPBEAR_RSAKEY_DEFAULT
52test -n "$DROPBEAR_DSSKEY" || \
53 DROPBEAR_DSSKEY=$DROPBEAR_DSSKEY_DEFAULT
54test -n "$DROPBEAR_KEYTYPES" || \
55 DROPBEAR_KEYTYPES="rsa"
56
57gen_keys() {
58for t in $DROPBEAR_KEYTYPES; do
59 case $t in
60 rsa)
61 test -f $DROPBEAR_RSAKEY || dropbearkey -t rsa -f $DROPBEAR_RSAKEY
62 ;;
63 dsa)
64 test -f $DROPBEAR_DSSKEY || dropbearkey -t dss -f $DROPBEAR_DSSKEY
65 ;;
66 esac
67done
68}
69
70case "$1" in
71 start)
72 echo -n "Starting $DESC: "
73 gen_keys
74 KEY_ARGS=""
75 test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY"
76 test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY"
77 start-stop-daemon -S \
78 -x "$DAEMON" -- $KEY_ARGS \
79 -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
80 echo "$NAME."
81 ;;
82 stop)
83 echo -n "Stopping $DESC: "
84 start-stop-daemon -K -x "$DAEMON"
85 echo "$NAME."
86 ;;
87 restart|force-reload)
88 echo -n "Restarting $DESC: "
89 start-stop-daemon -K -x "$DAEMON"
90 sleep 1
91 KEY_ARGS=""
92 test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY"
93 test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY"
94 start-stop-daemon -S \
95 -x "$DAEMON" -- $KEY_ARGS \
96 -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
97 echo "$NAME."
98 ;;
99 *)
100 N=/etc/init.d/$NAME
101 echo "Usage: $N {start|stop|restart|force-reload}" >&2
102 exit 1
103 ;;
104esac
105
106exit 0