From: Peter Wagner Date: Thu, 21 Mar 2019 18:29:07 +0000 (+0100) Subject: openssh: handle multiple ports and simplify init script X-Git-Url: http://git.openwrt.org/?p=feed%2Fpackages.git;a=commitdiff_plain;h=ba72d8d13944efaa4d9a8814d1b83ec52c3b39f0 openssh: handle multiple ports and simplify init script Signed-off-by: Peter Wagner --- diff --git a/net/openssh/Makefile b/net/openssh/Makefile index 6ef5ca39fa..d71cee6903 100644 --- a/net/openssh/Makefile +++ b/net/openssh/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssh PKG_VERSION:=7.9p1 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \ diff --git a/net/openssh/files/sshd.init b/net/openssh/files/sshd.init index a75daae4cd..f9292d954a 100644 --- a/net/openssh/files/sshd.init +++ b/net/openssh/files/sshd.init @@ -8,7 +8,8 @@ USE_PROCD=1 PROG=/usr/sbin/sshd start_service() { - for type in rsa ecdsa ed25519; do { + for type in rsa ecdsa ed25519 + do # check for keys key=/etc/ssh/ssh_host_${type}_key [ ! -f $key ] && { @@ -17,10 +18,10 @@ start_service() { /usr/bin/ssh-keygen -N '' -t $type -f $key 2>&- >&- } } - }; done + done mkdir -m 0700 -p /var/empty - local lport=`grep ^Port /etc/ssh/sshd_config | cut -d " " -f 2` + local lport=$(awk '/^Port / { print $2; exit }' /etc/ssh/sshd_config) [ -z $lport ] && lport=22 procd_open_instance @@ -31,16 +32,13 @@ start_service() { shutdown() { local pid - local pids - local pid_mine stop # kill active clients - pid_mine="$$" - pids="$(pidof sshd)" - for pid in $pids; do - [ "$pid" = "$pid_mine" ] && continue + for pid in $(pidof sshd) + do + [ "$pid" == "$$" ] && continue [ -e "/proc/$pid/stat" ] && kill $pid done }