Temporary change to help debugging SSH server verification failures

This commit is contained in:
Yang Tse 2008-01-10 16:19:14 +00:00
parent d270d6518a
commit 14ff7e75e0
2 changed files with 13 additions and 8 deletions

View File

@ -661,9 +661,15 @@ sub verifyftp {
sub verifyssh { sub verifyssh {
my ($proto, $ip, $port) = @_; my ($proto, $ip, $port) = @_;
open(FILE, "<$SSHPIDFILE"); my $pid;
my $pid=0+<FILE>; if(open(FILE, "<$SSHPIDFILE")) {
close(FILE); $pid=0+<FILE>;
close(FILE);
logmsg "TRACESSH:verifyssh: pid from $SSHPIDFILE is $pid\n";
}
else {
logmsg "TRACESSH:verifyssh: cannot open file $SSHPIDFILE\n";
}
return $pid; return $pid;
} }
@ -1077,6 +1083,7 @@ sub runsshserver {
if($pid > 0) { if($pid > 0) {
stopserver($pid); stopserver($pid);
} }
unlink($pidfile);
my $flag=$verbose?'-v ':''; my $flag=$verbose?'-v ':'';
$flag .= '-d ' if($debugprotocol); $flag .= '-d ' if($debugprotocol);
@ -1092,7 +1099,7 @@ sub runsshserver {
return (0,0); return (0,0);
} }
if (!verifyserver('ssh',$ip,$port)) { if (!verifyserver("ssh",$ip,$port)) {
logmsg "RUN: SSH server failed verification\n"; logmsg "RUN: SSH server failed verification\n";
# failed to talk to it properly. Kill the server and return failure # failed to talk to it properly. Kill the server and return failure
stopserver("$sshpid $pid2"); stopserver("$sshpid $pid2");
@ -1198,8 +1205,6 @@ sub runsocksserver {
my $cmd="$ssh -N -F $sshconfig $ip > $sshlog 2>&1"; my $cmd="$ssh -N -F $sshconfig $ip > $sshlog 2>&1";
my ($sshpid, $pid2) = startnew($cmd, $pidfile, 30, 1); my ($sshpid, $pid2) = startnew($cmd, $pidfile, 30, 1);
logmsg "TRACESSH:runsocksserver: startnew returns sshpid: $sshpid pid2: $pid2\n";
if($sshpid <= 0 || !kill(0, $sshpid)) { if($sshpid <= 0 || !kill(0, $sshpid)) {
# it is NOT alive # it is NOT alive
logmsg "RUN: failed to start the SOCKS server\n"; logmsg "RUN: failed to start the SOCKS server\n";
@ -1213,7 +1218,7 @@ sub runsocksserver {
} }
# Ugly hack but ssh doesn't support pid files # Ugly hack but ssh doesn't support pid files
if (!verifyserver('socks',$ip,$port)) { if (!verifyserver("socks",$ip,$port)) {
logmsg "RUN: SOCKS server failed verification\n"; logmsg "RUN: SOCKS server failed verification\n";
# failed to talk to it properly. Kill the server and return failure # failed to talk to it properly. Kill the server and return failure
stopserver("$sshpid $pid2"); stopserver("$sshpid $pid2");

View File

@ -830,7 +830,7 @@ if($error) {
} }
@cfgarr = (); @cfgarr = ();
logmsg "TRACESSH:sshserver.pl: sshd will use pidfile $path/.ssh.pid";
#*************************************************************************** #***************************************************************************
# Start the ssh server daemon without forking it # Start the ssh server daemon without forking it
# #