+20011019
+ - (bal) Fixed up init.d symlink issue and piddir stuff. Patches by
+ Zoran Milojevic <Zoran.Milojevic@SS8.com> and j.petersen@msh.de
+
20011012
- (djm) OpenBSD CVS Sync
- markus@cvs.openbsd.org 2001/10/10 22:18:47
## Fill in some details, like prefix and sysconfdir
ETCDIR=`grep "^sysconfdir=" Makefile | sed 's/sysconfdir=//'`
PREFIX=`grep "^prefix=" Makefile | cut -d = -f 2`
+PIDDIR=`grep "^piddir=" Makefile | cut -d = -f 2`
cd $FAKE_ROOT
## Setup our run level stuff while we are at it.
## setup our initscript correctly
sed -e "s#%%configDir%%#$ETCDIR#g" \
-e "s#%%openSSHDir%%#$PREFIX#g" \
+ -e "s#%%pidDir%%#$PIDDIR#g" \
../opensshd.in > $FAKE_ROOT/etc/init.d/opensshd
chmod 711 $FAKE_ROOT/etc/init.d/opensshd
-ln -s $FAKE_ROOT/etc/init.d/opensshd $FAKE_ROOT/etc/rcS.d/K30opensshd
-ln -s $FAKE_ROOT/etc/init.d/opensshd $FAKE_ROOT/etc/rc1.d/K30opensshd
-ln -s $FAKE_ROOT/etc/init.d/opensshd $FAKE_ROOT/etc/rc2.d/S98opensshd
+ln -s ../init.d/opensshd $FAKE_ROOT/etc/rcS.d/K30opensshd
+ln -s ../init.d/opensshd $FAKE_ROOT/etc/rc0.d/K30opensshd
+ln -s ../init.d/opensshd $FAKE_ROOT/etc/rc1.d/K30opensshd
+ln -s ../init.d/opensshd $FAKE_ROOT/etc/rc2.d/S98opensshd
## Ok, this is outright wrong, but it will work. I'm tired of pkgmk
AWK=/usr/bin/awk
CAT=/usr/bin/cat
-EGREP=/usr/bin/egrep
KILL=/usr/bin/kill
PS=/usr/bin/ps
+XARGS=/usr/bin/xargs
prefix=%%openSSHDir%%
etcdir=%%configDir%%
+piddir=%%pidDir%%
SSHD=$prefix/sbin/sshd
+PIDFILE=$piddir/sshd.pid
SSH_KEYGEN=$prefix/bin/ssh-keygen
HOST_KEY_RSA1=$etcdir/ssh_host_key
HOST_KEY_DSA=$etcdir/ssh_host_dsa_key
killproc() {
_procname=$1
_signal=$2
- ${PGREP} ${_procname} | ${HEAD} -1 | ${XARGS} -t -I {} ${KILL} -${_signal} {}
+ ${PS} -u root | ${AWK} '/'"$_procname"'$/ {print $1}' | ${XARGS} ${KILL}
}
checkkeys() {
if [ ! -f $HOST_KEY_RSA1 ]; then
- $SSH_KEYGEN -t rsa1 -f $HOST_KEY_RSA1 -N ""
+ ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N ""
fi
if [ ! -f $HOST_KEY_DSA ]; then
- $SSH_KEYGEN -t dsa -f $HOST_KEY_DSA -N ""
+ ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N ""
fi
if [ ! -f $HOST_KEY_RSA ]; then
- $SSH_KEYGEN -t rsa -f $HOST_KEY_RSA -N ""
+ ${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N ""
fi
}
stop_service() {
if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then
- PID=`cat ${PIDFILE}`
+ PID=`${CAT} ${PIDFILE}`
fi
if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then
- $KILL $PID
+ ${KILL} ${PID}
else
echo "Unable to read PID file, killing using alternate method"
killproc sshd TERM