contrib/solaris/opensshd.in patch
Rob Mallory
rmallory at ensemble.com
Sat Jan 19 08:37:24 EST 2002
Hmmm.. you are right. Dunno what I omitted when
cut n pasted your (nice and unbloated) version.
...and yes, I do want to kill the one who $ppid=1,
{was stuck in thinking ass-backwards like my example}
yeppers.....
anyways, I hope people agree this'd be nice to have
in the tree..... it saved my butt a few times in the past...
-----Original Message-----
From: Rob Mallory [mailto:rmallory at ensemble.com]
Sent: Friday, January 18, 2002 1:23 PM
To: 'Zoran Milojevic'; openssh-unix-dev at shitei.mindrot.org
Cc: 'Rob Mallory'
Subject: RE: contrib/solaris/opensshd.in patch
Did you try it? it seems to kill all sshd's here.
specificaly, you (or at least I)_don't_ want to kill anything where $2=="1"
from the ps -opid,ppid,fname line to be killed.
also I don't want to kill parents of any procs called "opensshd"
which is the name of the script.
-Rob
-----Original Message-----
From: Zoran Milojevic [mailto:Zoran.Milojevic at SS8.com]
Sent: Friday, January 18, 2002 1:04 PM
To: openssh-unix-dev at shitei.mindrot.org
Cc: 'Rob Mallory'
Subject: RE: contrib/solaris/opensshd.in patch
Here's a bit simpler change that accomplishes the same task:
--- ./opensshd.in.old Fri Jan 18 15:47:21 2002
+++ ./opensshd.in Fri Jan 18 15:47:00 2002
@@ -23,7 +23,9 @@
killproc() {
_procname=$1
_signal=$2
- ${PS} -u root | ${AWK} '/'"$_procname"'$/ {print $1}' | ${XARGS} ${KILL}
+ ${PS} -opid,ppid,fname -u root |\
+ ${AWK} '/'"$_procname"'$/ {if ($2 == "1") {print $1}}' |\
+ ${XARGS} ${KILL} -s $_signal
}
Zoran
--
Zoran Milojevic
SS8 Networks Inc. http://www.ss8.com <http://www.ss8.com>
"One Better"
Tel: +1-613-592-2100/x3231 Fax: +1-613-592-9634
> -----Original Message-----
> From: Rob Mallory [ mailto:rmallory at ensemblecom.com
<mailto:rmallory at ensemblecom.com> ]
> Sent: January 18, 2002 15:02
> To: openssh-unix-dev at mindrot.org
> Subject: contrib/solaris/opensshd.in patch
>
>
> This patch adds the seatbelts which _only_ kill parent sshd
> procs... -RMallory
> (eg: when you ssh into a machine and pkgadd the new openssh,
> it will not
> kill your current (or anyone else's sshd session)
>
> onanother_note: the buildpkg.sh could use some exec_prefix
> functionality...
> to deal with ./configure --prefix= --exec_prefix=/usr
>
> *** bak/opensshd.in Fri Oct 19 13:36:24 2001
> --- opensshd.in Fri Jan 18 11:47:10 2002
> ***************
> *** 8,16 ****
> KILL=/usr/bin/kill
> PS=/usr/bin/ps
> XARGS=/usr/bin/xargs
>
> prefix=%%openSSHDir%%
> --- 8,19 ----
> KILL=/usr/bin/kill
> PS=/usr/bin/ps
> XARGS=/usr/bin/xargs
> + FGREP=/usr/bin/fgrep
> + EGREP=/usr/bin/egrep
> + ME=`/usr/bin/basename $0`
>
> prefix=%%openSSHDir%%
> ***************
> *** 22,29 ****
>
> killproc() {
> _procname=$1
> ! _signal=$2
> ! ${PS} -u root | ${AWK} '/'"$_procname"'$/ {print $1}' |
> ${XARGS} ${KILL}
> }
>
>
> --- 25,42 ----
>
> killproc() {
> _procname=$1
> !
> ! #The next line finds only the parent of $_procname if it exists
> ! PID=`${PS} -le -u root| ${FGREP} $_procname | ${EGREP} -v ${ME} \
> ! | ${AWK} '{print $5}' | ${EGREP} -v "^1$" | uniq `
> !
> ! if [ -z "$PID" ] ; then
> ! echo "No parent sshd process found..."
> ! PID=`${PS} -u root | ${AWK} '/'"$_procname"'$/
> {print $1}'`
> ! test -z "$PID" && /usr/bin/echo "No sshd
> children found..."
> ! test -z "$PID" || /usr/bin/echo "Not killing
> these sshd children: \n$PID"
> ! else echo "Killing $PID" ; ${KILL} ${PID}
> ! fi
> }
>
>
> _______________________________________________
> openssh-unix-dev at mindrot.org mailing list
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
<http://www.mindrot.org/mailman/listinfo/openssh-unix-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20020118/ef98ef53/attachment.html
More information about the openssh-unix-dev
mailing list