secureserver: Only set stunnel FIPS option when available
It seems the fips config option causes an error if FIPS mode was not enabled at stunnel compile-time. FIPS support was disabled by default in stunnel 5.00, so this is probably really only needed on versions between 4.32 and 5.00.
This commit is contained in:
Родитель
909a68c121
Коммит
3a0d1bebba
|
@ -50,6 +50,7 @@ my $stuncert;
|
||||||
|
|
||||||
my $ver_major;
|
my $ver_major;
|
||||||
my $ver_minor;
|
my $ver_minor;
|
||||||
|
my $fips_support;
|
||||||
my $stunnel_version;
|
my $stunnel_version;
|
||||||
my $socketopt;
|
my $socketopt;
|
||||||
my $cmd;
|
my $cmd;
|
||||||
|
@ -189,7 +190,11 @@ foreach my $veropt (('-version', '-V')) {
|
||||||
if($verstr =~ /^stunnel (\d+)\.(\d+) on /) {
|
if($verstr =~ /^stunnel (\d+)\.(\d+) on /) {
|
||||||
$ver_major = $1;
|
$ver_major = $1;
|
||||||
$ver_minor = $2;
|
$ver_minor = $2;
|
||||||
last;
|
}
|
||||||
|
elsif($verstr =~ /^sslVersion.*fips *= *yes/) {
|
||||||
|
# the fips option causes an error if stunnel doesn't support it
|
||||||
|
$fips_support = 1;
|
||||||
|
last
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last if($ver_major);
|
last if($ver_major);
|
||||||
|
@ -253,7 +258,8 @@ if($stunnel_version >= 400) {
|
||||||
cert = $certfile
|
cert = $certfile
|
||||||
debug = $loglevel
|
debug = $loglevel
|
||||||
socket = $socketopt";
|
socket = $socketopt";
|
||||||
if($stunnel_version >= 500) {
|
if($fips_support) {
|
||||||
|
# disable fips in case OpenSSL doesn't support it
|
||||||
print STUNCONF "
|
print STUNCONF "
|
||||||
fips = no";
|
fips = no";
|
||||||
}
|
}
|
||||||
|
@ -283,7 +289,6 @@ if($stunnel_version >= 400) {
|
||||||
print "cert = $certfile\n";
|
print "cert = $certfile\n";
|
||||||
print "pid = $pidfile\n";
|
print "pid = $pidfile\n";
|
||||||
print "debug = $loglevel\n";
|
print "debug = $loglevel\n";
|
||||||
print "fips = no\n";
|
|
||||||
print "socket = $socketopt\n";
|
print "socket = $socketopt\n";
|
||||||
print "output = $logfile\n";
|
print "output = $logfile\n";
|
||||||
print "foreground = yes\n";
|
print "foreground = yes\n";
|
||||||
|
|
Загрузка…
Ссылка в новой задаче