ソースを参照

secureserver.pl: make OpenSSL CApath and cert absolute path values

Recent stunnel versions (5.08) seem to have trouble with relative
paths on Windows. This turns the relative paths into absolute ones.
Marc Hoersken 9 年 前
コミット
3b7bf29385
1 ファイル変更6 行追加2 行削除
  1. 6 2
      tests/secureserver.pl

+ 6 - 2
tests/secureserver.pl

@@ -33,6 +33,7 @@ BEGIN {
 use strict;
 use warnings;
 use Cwd;
+use Cwd 'abs_path';
 
 use serverhelp qw(
     server_pidfilename
@@ -62,6 +63,7 @@ my $ipvnum = 4;       # default IP version of stunneled server
 my $idnum = 1;        # dafault stunneled server instance number
 my $proto = 'https';  # default secure server protocol
 my $conffile;         # stunnel configuration file
+my $capath;           # certificate chain PEM folder
 my $certfile;         # certificate chain PEM file
 
 #***************************************************************************
@@ -178,7 +180,9 @@ if(!$logfile) {
 
 $conffile = "$path/stunnel.conf";
 
+$capath = abs_path($path);
 $certfile = "$srcdir/". ($stuncert?"certs/$stuncert":"stunnel.pem");
+$certfile = abs_path($certfile);
 
 my $ssltext = uc($proto) ." SSL/TLS:";
 
@@ -254,7 +258,7 @@ if($stunnel_version >= 400) {
     # stunnel configuration file
     if(open(STUNCONF, ">$conffile")) {
         print STUNCONF "
-            CApath = $path
+            CApath = $capath
             cert = $certfile
             debug = $loglevel
             socket = $socketopt";
@@ -285,7 +289,7 @@ if($stunnel_version >= 400) {
     if($verbose) {
         print uc($proto) ." server (stunnel $ver_major.$ver_minor)\n";
         print "cmd: $cmd\n";
-        print "CApath = $path\n";
+        print "CApath = $capath\n";
         print "cert = $certfile\n";
         print "pid = $pidfile\n";
         print "debug = $loglevel\n";