diff options
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests/secureserver.pl | 47 | 
1 files changed, 34 insertions, 13 deletions
diff --git a/tests/secureserver.pl b/tests/secureserver.pl index bb4452269..37a395710 100755 --- a/tests/secureserver.pl +++ b/tests/secureserver.pl @@ -248,19 +248,21 @@ if($stunnel_version >= 400) {      $SIG{TERM} = \&exit_signal_handler;      # stunnel configuration file      if(open(STUNCONF, ">$conffile")) { -	print STUNCONF " -	CApath = $path -	cert = $certfile -	pid = $pidfile -	debug = $loglevel -	output = $logfile -	socket = $socketopt -	foreground = yes -	 -	[curltest] -	accept = $accept_port -	connect = $target_port -	"; +        print STUNCONF " +            CApath = $path +            cert = $certfile +            debug = $loglevel +            output = /dev/stdout +            socket = $socketopt"; +        if($stunnel !~ /tstunnel(\.exe)?"?$/) { +            print STUNCONF " +            pid = $pidfile +            foreground = yes"; +        } +        print STUNCONF " +            [curltest] +            accept = $accept_port +            connect = $target_port";          if(!close(STUNCONF)) {              print "$ssltext Error closing file $conffile\n";              exit 1; @@ -293,6 +295,25 @@ if($stunnel_version >= 400) {  chmod(0600, $certfile) if(-f $certfile);  #*************************************************************************** +# Run tstunnel on Windows. +# +if($stunnel =~ /tstunnel(\.exe)?"?$/) { +    # Fake pidfile for tstunnel on Windows. +    if(open(OUT, ">$pidfile")) { +        print OUT $$ . "\n"; +        close(OUT); +    } + +    # Put an "exec" in front of the command so that the child process +    # keeps this child's process ID. +    exec("exec $cmd") || die "Can't exec() $cmd: $!"; + +    # exec() should never return back here to this process. We protect +    # ourselves by calling die() just in case something goes really bad. +    die "error: exec() has returned"; +} + +#***************************************************************************  # Run stunnel.  #  my $rc = system($cmd);  | 
