# Return the pids (yes plural) of the new child process to the parent.
#
sub startnew {
- my ($cmd, $pidfile, $timeout, $fake)=@_;
+ my ($cmd, $pidfile, $timeout, $fakepidfile)=@_;
logmsg "startnew: $cmd\n" if ($verbose);
}
# Ugly hack but ssh client and gnutls-serv don't support pid files
- if ($fake) {
+ if ($fakepidfile) {
if(open(my $out, ">", "$pidfile")) {
print $out $child . "\n";
close($out) || die "Failure writing pidfile";
sub verifyhttp {
my ($proto, $ipvnum, $idnum, $ip, $port_or_path) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
- my $pid = 0;
my $bonus="";
# $port_or_path contains a path for Unix sockets, sws ignores the port
my $port = ($ipvnum eq "unix") ? 80 : $port_or_path;
close($file);
}
+ my $pid = 0;
if($data && ($data =~ /WE ROOLZ: (\d+)/)) {
$pid = 0+$1;
}
sub verifyftp {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
- my $pid = 0;
my $time=time();
my $extra="";
return -1;
}
+ my $pid = 0;
foreach my $line (@data) {
if($line =~ /WE ROOLZ: (\d+)/) {
# this is our test server with a known pid!
sub verifyrtsp {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
- my $pid = 0;
my $verifyout = "$LOGDIR/".
servername_canon($proto, $ipvnum, $idnum) .'_verify.out';
close($file);
}
+ my $pid = 0;
if($data && ($data =~ /RTSP_SERVER WE ROOLZ: (\d+)/)) {
$pid = 0+$1;
}
#
sub verifyssh {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
- my $server = servername_id($proto, $ipvnum, $idnum);
my $pidfile = server_pidfilename($proto, $ipvnum, $idnum);
my $pid = processexists($pidfile);
if($pid < 0) {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
my $pidfile = server_pidfilename($proto, $ipvnum, $idnum);
- my $pid = 0;
my $verifyout = "$LOGDIR/".
servername_canon($proto, $ipvnum, $idnum) .'_verify.out';
close($file);
}
+ my $pid = 0;
if($data && ($data =~ /(GNUTLS|GnuTLS)/) && ($pid = processexists($pidfile))) {
if($pid < 0) {
logmsg "RUN: $server server has died after starting up\n";
#
sub verifysocks {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
- my $server = servername_id($proto, $ipvnum, $idnum);
my $pidfile = server_pidfilename($proto, $ipvnum, $idnum);
my $pid = processexists($pidfile);
if($pid < 0) {
sub verifysmb {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
- my $pid = 0;
my $time=time();
my $extra="";
return -1;
}
+ my $pid = 0;
foreach my $line (@data) {
if($line =~ /WE ROOLZ: (\d+)/) {
# this is our test server with a known pid!
sub verifytelnet {
my ($proto, $ipvnum, $idnum, $ip, $port) = @_;
my $server = servername_id($proto, $ipvnum, $idnum);
- my $pid = 0;
my $time=time();
my $extra="";
return -1;
}
+ my $pid = 0;
foreach my $line (@data) {
if($line =~ /WE ROOLZ: (\d+)/) {
# this is our test server with a known pid!
#
sub runhttp2server {
my ($verb) = @_;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
my $proto="http/2";
my $ipvnum = 4;
my $idnum = 0;
my $exe = "$perl $srcdir/http2-server.pl";
my $verbose_flag = "--verbose ";
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--nghttpx \"$ENV{'NGHTTPX'}\" ";
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--logdir \"$LOGDIR\" ";
#
sub runhttp3server {
my ($verb, $cert) = @_;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
my $proto="http/3";
my $ipvnum = 4;
my $idnum = 0;
my $exe = "$perl $srcdir/http3-server.pl";
my $verbose_flag = "--verbose ";
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--nghttpx \"$ENV{'NGHTTPX'}\" ";
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--logdir \"$LOGDIR\" ";
my $ip = $HOSTIP;
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
my $exe = "$perl $srcdir/http-server.pl";
my $verbose_flag = "--verbose ";
$ipvnum = "unix";
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
- my $portfile = $serverportfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $portfile = $serverportfile{$server};
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--gopher " if($proto eq "gopher");
$flags .= "--connect $HOSTIP " if($alt eq "proxy");
$flags .= $verbose_flag if($debugprotocol);
my $ip = $HOSTIP;
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($proxy eq "proxy") {
# the https-proxy runs as https2
return (0, 0, 0);
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
$certfile = 'stunnel.pem' unless($certfile);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
-
+ my $flags = "";
$flags .= "--verbose " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--logdir \"$LOGDIR\" ";
my $ip = ($ipv6 && ($ipv6 =~ /6$/)) ? "$HOST6IP" : "$HOSTIP";
my $ipvnum = ($ipv6 && ($ipv6 =~ /6$/)) ? 6 : 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if(!$httptlssrv) {
return (0,0);
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--http ";
$flags .= "--debug 1 " if($debugprotocol);
$flags .= "--priority NORMAL:+SRP ";
#
sub runpingpongserver {
my ($proto, $id, $verb, $ipv6) = @_;
- my $port;
my $ip = ($ipv6 && ($ipv6 =~ /6$/)) ? "$HOST6IP" : "$HOSTIP";
my $ipvnum = ($ipv6 && ($ipv6 =~ /6$/)) ? 6 : 4;
my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
my $portfile = $serverportfile{$server};
# don't retry if the server doesn't work
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--logdir \"$LOGDIR\" ";
}
# where is it?
- $port = pidfromfile($portfile);
+ my $port = pidfromfile($portfile);
logmsg "PINGPONG runs on port $port ($portfile)\n" if($verb);
my $ip = ($ipv6 && ($ipv6 =~ /6$/)) ? "$HOST6IP" : "$HOSTIP";
my $ipvnum = ($ipv6 && ($ipv6 =~ /6$/)) ? 6 : 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if(!$stunnel) {
return (0,0);
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
$certfile = 'stunnel.pem' unless($certfile);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
-
+ my $flags = "";
$flags .= "--verbose " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--logdir \"$LOGDIR\" ";
my $proto = 'tftp';
my $ipvnum = 4;
my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($ipv6) {
# if IPv6, use a different setup
$ip = $HOST6IP;
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
- my $portfile = $serverportfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $portfile = $serverportfile{$server};
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose " if($debugprotocol);
- $flags .= "--pidfile \"$pidfile\" ".
- "--portfile \"$portfile\" ".
- "--logfile \"$logfile\" ".
- "--logdir \"$LOGDIR\" ";
+ $flags .= "--pidfile \"$pidfile\" ";
+ $flags .= "--portfile \"$portfile\" ";
+ $flags .= "--logfile \"$logfile\" ";
+ $flags .= "--logdir \"$LOGDIR\" ";
$flags .= "--id $idnum " if($idnum > 1);
$flags .= "--ipv$ipvnum --port 0 --srcdir \"$srcdir\"";
my $proto = 'rtsp';
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($ipv6) {
# if IPv6, use a different setup
$ip = $HOST6IP;
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
my $portfile = $serverportfile{$server};
# don't retry if the server doesn't work
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose " if($debugprotocol);
- $flags .= "--pidfile \"$pidfile\" ".
- "--portfile \"$portfile\" ".
- "--logfile \"$logfile\" ".
- "--logdir \"$LOGDIR\" ";
+ $flags .= "--pidfile \"$pidfile\" ";
+ $flags .= "--portfile \"$portfile\" ";
+ $flags .= "--logfile \"$logfile\" ";
+ $flags .= "--logdir \"$LOGDIR\" ";
$flags .= "--id $idnum " if($idnum > 1);
$flags .= "--ipv$ipvnum --port 0 --srcdir \"$srcdir\"";
my $proto = 'ssh';
my $ipvnum = 4;
my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
my $port = 20000; # no lower port
if(!$USER) {
return (0,0,0);
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
my $flags = "";
$flags .= "--verbose " if($verb);
my $port = protoport($proto);
my $ipvnum = 4;
my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $portfile;
- my $logfile;
- my $flags = "";
- $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
- $portfile = $serverportfile{$server};
+ my $server = servername_id($proto, $ipvnum, $idnum);
+ my $pidfile = $serverpidfile{$server};
+ my $portfile = $serverportfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
# start our MQTT server - on a random port!
my $cmd="server/mqttd".exe_ext('SRV').
my $proto = 'socks';
my $ipvnum = 4;
my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
- my $portfile = $serverportfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $portfile = $serverportfile{$server};
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
# start our socks server, get commands from the FTP cmd file
my $cmd="";
my $ip = $HOSTIP;
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($alt eq "ipv6") {
# No IPv6
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose 1 " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--id $idnum " if($idnum > 1);
my $ip = $HOSTIP;
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($alt eq "ipv6") {
# No IPv6
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose 1 " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--id $idnum " if($idnum > 1);
my $ip = $HOSTIP;
my $ipvnum = 4;
my $idnum = 1;
- my $server;
- my $srvrname;
- my $pidfile;
- my $logfile;
- my $flags = "";
if($alt eq "ipv6") {
# No IPv6
}
- $server = servername_id($proto, $ipvnum, $idnum);
+ my $server = servername_id($proto, $ipvnum, $idnum);
- $pidfile = $serverpidfile{$server};
+ my $pidfile = $serverpidfile{$server};
# don't retry if the server doesn't work
if ($doesntrun{$pidfile}) {
}
unlink($pidfile) if(-f $pidfile);
- $srvrname = servername_str($proto, $ipvnum, $idnum);
-
- $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $srvrname = servername_str($proto, $ipvnum, $idnum);
+ my $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum);
+ my $flags = "";
$flags .= "--verbose 1 " if($debugprotocol);
$flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" ";
$flags .= "--id $idnum " if($idnum > 1);