<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: [openssh-unix-dev] Re: contrib/solaris/opensshd.in patch</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Here's a try for the PID thing; I also included a startup check for</FONT>
<BR><FONT SIZE=2>a running sshd, just for the kicks.</FONT>
<BR><FONT SIZE=2>Z</FONT>
</P>

<P><FONT SIZE=2>--- opensshd.in.old&nbsp;&nbsp;&nbsp;&nbsp; Fri Jan 18 15:47:21 2002</FONT>
<BR><FONT SIZE=2>+++ opensshd.in.new&nbsp;&nbsp;&nbsp;&nbsp; Tue Jan 22 17:33:42 2002</FONT>
<BR><FONT SIZE=2>@@ -3,11 +3,9 @@</FONT>
<BR><FONT SIZE=2>&nbsp;#</FONT>
<BR><FONT SIZE=2>&nbsp;# Stripped PRNGd out of it for the time being.</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>-AWK=/usr/bin/awk</FONT>
<BR><FONT SIZE=2>&nbsp;CAT=/usr/bin/cat</FONT>
<BR><FONT SIZE=2>&nbsp;KILL=/usr/bin/kill</FONT>
<BR><FONT SIZE=2>&nbsp;PS=/usr/bin/ps</FONT>
<BR><FONT SIZE=2>-XARGS=/usr/bin/xargs</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>&nbsp;prefix=%%openSSHDir%%</FONT>
<BR><FONT SIZE=2>&nbsp;etcdir=%%configDir%%</FONT>
<BR><FONT SIZE=2>@@ -20,12 +18,6 @@</FONT>
<BR><FONT SIZE=2>&nbsp;HOST_KEY_DSA=$etcdir/ssh_host_dsa_key</FONT>
<BR><FONT SIZE=2>&nbsp;HOST_KEY_RSA=$etcdir/ssh_host_rsa_key</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>-killproc() {</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp; _procname=$1</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp; _signal=$2</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp; ${PS} -u root | ${AWK} '/'&quot;$_procname&quot;'$/ {print $1}' | ${XARGS} ${KILL}</FONT>
<BR><FONT SIZE=2>-}</FONT>
<BR><FONT SIZE=2>-</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>&nbsp;checkkeys() {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; if [ ! -f $HOST_KEY_RSA1 ]; then</FONT>
<BR><FONT SIZE=2>@@ -39,21 +31,38 @@</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>&nbsp;}</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>-stop_service() {</FONT>
<BR><FONT SIZE=2>+find_pid() {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; if [&nbsp; -r $PIDFILE&nbsp; -a&nbsp; ! -z ${PIDFILE}&nbsp; ]; then</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID=`${CAT} ${PIDFILE}`</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; if [&nbsp; ${PID:=0} -gt 1 -a&nbsp; ! &quot;X$PID&quot; = &quot;X &quot;&nbsp; ]; then</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${KILL} ${PID}</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROC=`${PS} -ofname= -p $PID`</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ &quot;${PROC}&quot; = &quot;`basename $SSHD`&quot; ]; then</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; PID=0</FONT>
<BR><FONT SIZE=2>+}</FONT>
<BR><FONT SIZE=2>+</FONT>
<BR><FONT SIZE=2>+</FONT>
<BR><FONT SIZE=2>+stop_service() {</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; find_pid</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; if [&nbsp; ${PID} -gt 1 ]; then</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${KILL} ${PID}</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; else</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Unable to read PID file, killing using alternate method&quot;</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; killproc sshd TERM</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Unable to locate the master sshd process.&quot;</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;You may have to manually kill it later.&quot;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>&nbsp;}</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>&nbsp;start_service() {</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp;&nbsp; # XXX We really should check if the service is already going, but</FONT>
<BR><FONT SIZE=2>-&nbsp;&nbsp;&nbsp; # XXX we will opt out at this time. - Bal</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; find_pid</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; if [&nbsp; ${PID} -gt 1 ]; then</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # XXX do we kill running sshd, or abort here?</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ${KILL} ${PID}</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;sshd already running - use 'restart' to restart.&quot;</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return</FONT>
<BR><FONT SIZE=2>+&nbsp;&nbsp;&nbsp; fi</FONT>
<BR><FONT SIZE=2>&nbsp;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; # Check to see if we have keys that need to be made</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; checkkeys</FONT>
</P>

<P><FONT SIZE=2>-- </FONT>
<BR><FONT SIZE=2>Zoran Milojevic</FONT>
<BR><FONT SIZE=2>SS8 Networks Inc.&nbsp;&nbsp; <A HREF="http://www.ss8.com" TARGET="_blank">http://www.ss8.com</A></FONT>
<BR><FONT SIZE=2>&quot;One Better&quot; </FONT>
<BR><FONT SIZE=2>Tel: +1-613-592-2100/x3231&nbsp; Fax: +1-613-592-9634</FONT>
</P>
<BR>

<P><FONT SIZE=2>&gt; -----Original Message-----</FONT>
<BR><FONT SIZE=2>&gt; From: mouring@etoh.eviladmin.org [<A HREF="mailto:mouring@etoh.eviladmin.org">mailto:mouring@etoh.eviladmin.org</A>]</FONT>
<BR><FONT SIZE=2>&gt; Sent: January 21, 2002 00:36</FONT>
<BR><FONT SIZE=2>&gt; To: Frank Cusack</FONT>
<BR><FONT SIZE=2>&gt; Cc: David Bronder; openssh-unix-dev@mindrot.org</FONT>
<BR><FONT SIZE=2>&gt; Subject: Re: [openssh-unix-dev] Re: contrib/solaris/opensshd.in patch</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; &lt;Nod&gt; And if someone does not send a patch by Wed.. I'll </FONT>
<BR><FONT SIZE=2>&gt; write my own and</FONT>
<BR><FONT SIZE=2>&gt; commit it with the exec-prefix change.</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; - Ben</FONT>
</P>

</BODY>
</HTML>