Commit 6a76d3eb authored by Marc Hoersken's avatar Marc Hoersken
Browse files

secureserver.pl: update Windows detection and fix path conversion

parent 3b7bf293
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ my $ver_major;
my $ver_minor;
my $fips_support;
my $stunnel_version;
my $tstunnel_windows;
my $socketopt;
my $cmd;

@@ -222,6 +223,17 @@ if($stunnel_version < 310) {
    exit 1;
}

#***************************************************************************
# Find out if we are running on Windows using the tstunnel binary
#
if($stunnel =~ /tstunnel(\.exe)?"?$/) {
    $tstunnel_windows = 1;

    # replace Cygwin and MinGW drives within paths
    $capath =~ s/^(\/cygdrive)?\/(\w)\//$2\:\//;
    $certfile =~ s/^(\/cygdrive)?\/(\w)\//$2\:\//;
}

#***************************************************************************
# Build command to execute for stunnel 3.X versions
#
@@ -267,7 +279,7 @@ if($stunnel_version >= 400) {
            print STUNCONF "
            fips = no";
        }
        if($stunnel !~ /tstunnel(\.exe)?"?$/) {
        if(!$tstunnel_windows) {
            print STUNCONF "
            output = $logfile
            pid = $pidfile
@@ -311,7 +323,7 @@ chmod(0600, $certfile) if(-f $certfile);
#***************************************************************************
# Run tstunnel on Windows.
#
if($stunnel =~ /tstunnel(\.exe)?"?$/) {
if($tstunnel_windows) {
    # Fake pidfile for tstunnel on Windows.
    if(open(OUT, ">$pidfile")) {
        print OUT $$ . "\n";