|
|
|
@ -2,10 +2,13 @@ |
|
|
|
|
# Copyright (C) 2006-2010 OpenWrt.org |
|
|
|
|
# Copyright (C) 2006 Carlos Sobrinho |
|
|
|
|
|
|
|
|
|
NAME=dropbear |
|
|
|
|
PROG=/usr/sbin/dropbear |
|
|
|
|
START=50 |
|
|
|
|
STOP=50 |
|
|
|
|
|
|
|
|
|
SERVICE_USE_PID=1 |
|
|
|
|
|
|
|
|
|
NAME=dropbear |
|
|
|
|
PROG=/usr/sbin/dropbear |
|
|
|
|
PIDCOUNT=0 |
|
|
|
|
EXTRA_COMMANDS="killclients" |
|
|
|
|
EXTRA_HELP=" killclients Kill ${NAME} processes except servers and yourself" |
|
|
|
@ -48,7 +51,8 @@ dropbear_start() |
|
|
|
|
PIDCOUNT="$(( ${PIDCOUNT} + 1))" |
|
|
|
|
|
|
|
|
|
# prepare parameters (initialise with pid file) |
|
|
|
|
local args="-P /var/run/${NAME}.${PIDCOUNT}.pid" |
|
|
|
|
local pid_file="/var/run/${NAME}.${PIDCOUNT}.pid" |
|
|
|
|
local args="-P $pid_file" |
|
|
|
|
local val |
|
|
|
|
# A) password authentication |
|
|
|
|
config_get_bool val "${section}" PasswordAuth 1 |
|
|
|
@ -80,8 +84,7 @@ dropbear_start() |
|
|
|
|
|
|
|
|
|
# execute program and return its exit code |
|
|
|
|
[ "${verbosed}" -ne 0 ] && echo "${initscript}: section ${section} starting ${PROG} ${args}" |
|
|
|
|
${PROG} ${args} |
|
|
|
|
return $? |
|
|
|
|
SERVICE_PID_FILE="$pid_file" service_start ${PROG} ${args} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
keygen() |
|
|
|
@ -120,14 +123,17 @@ start() |
|
|
|
|
|
|
|
|
|
stop() |
|
|
|
|
{ |
|
|
|
|
# killing all server processes |
|
|
|
|
local pidfile |
|
|
|
|
for pidfile in `ls /var/run/${NAME}.*.pid` |
|
|
|
|
do |
|
|
|
|
start-stop-daemon -q -K -s KILL -p "${pidfile}" -n "${NAME}" |
|
|
|
|
rm -f "${pidfile}" |
|
|
|
|
local pid_file pid_files |
|
|
|
|
|
|
|
|
|
pid_files=`ls /var/run/${NAME}.*.pid 2>/dev/null` |
|
|
|
|
|
|
|
|
|
[ -z "$pid_files" ] && return 1 |
|
|
|
|
|
|
|
|
|
for pid_file in $pid_files; do |
|
|
|
|
SERVICE_PID_FILE="$pid_file" service_stop ${PROG} && { |
|
|
|
|
rm -f ${pid_file} |
|
|
|
|
} |
|
|
|
|
done |
|
|
|
|
[ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
killclients() |
|
|
|
|