|
|
@ -1,5 +1,5 @@ |
|
|
|
#!/bin/sh /etc/rc.common |
|
|
|
#!/bin/sh /etc/rc.common |
|
|
|
# Copyright (C) 2006-2009 OpenWrt.org |
|
|
|
# Copyright (C) 2006-2010 OpenWrt.org |
|
|
|
# Copyright (C) 2006 Carlos Sobrinho |
|
|
|
# Copyright (C) 2006 Carlos Sobrinho |
|
|
|
|
|
|
|
|
|
|
|
NAME=dropbear |
|
|
|
NAME=dropbear |
|
|
@ -91,7 +91,7 @@ stop() |
|
|
|
local pidfile |
|
|
|
local pidfile |
|
|
|
for pidfile in `ls /var/run/${NAME}.*.pid` |
|
|
|
for pidfile in `ls /var/run/${NAME}.*.pid` |
|
|
|
do |
|
|
|
do |
|
|
|
start-stop-daemon -K -s KILL -p "${pidfile}" -n "${NAME}" >/dev/null |
|
|
|
start-stop-daemon -q -K -s KILL -p "${pidfile}" -n "${NAME}" |
|
|
|
rm -f "${pidfile}" |
|
|
|
rm -f "${pidfile}" |
|
|
|
done |
|
|
|
done |
|
|
|
[ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients" |
|
|
|
[ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients" |
|
|
@ -112,12 +112,10 @@ killclients() |
|
|
|
[ "${pid}" -eq 0 ] && break |
|
|
|
[ "${pid}" -eq 0 ] && break |
|
|
|
|
|
|
|
|
|
|
|
# check if client connection |
|
|
|
# check if client connection |
|
|
|
ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null |
|
|
|
grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" && { |
|
|
|
if [ $? -eq 0 ] |
|
|
|
|
|
|
|
then |
|
|
|
|
|
|
|
append ignore "${pid}" |
|
|
|
append ignore "${pid}" |
|
|
|
break |
|
|
|
break |
|
|
|
fi |
|
|
|
} |
|
|
|
done |
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
# get all server pids that should be ignored |
|
|
|
# get all server pids that should be ignored |
|
|
@ -130,9 +128,10 @@ killclients() |
|
|
|
local skip |
|
|
|
local skip |
|
|
|
for pid in `pidof "${NAME}"` |
|
|
|
for pid in `pidof "${NAME}"` |
|
|
|
do |
|
|
|
do |
|
|
|
# check if correct program |
|
|
|
# check if correct program, otherwise process next pid |
|
|
|
ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null |
|
|
|
grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || { |
|
|
|
[ $? -ne 0 ] && continue |
|
|
|
continue |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# check if pid should be ignored (servers, ourself) |
|
|
|
# check if pid should be ignored (servers, ourself) |
|
|
|
skip=0 |
|
|
|
skip=0 |
|
|
|